示例#1
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.UseQ)
                        {
                            if (Q.isReadyPerfectly())
                            {
                                if (!ObjectManager.Player.IsDashing())
                                {
                                    if (HasPassive == false)
                                    {
                                        var Target = TargetSelector.GetTarget(Q.Range, Q.DamageType);
                                        if (Target != null)
                                        {
                                            Q.CastOnUnit(Target);
                                        }
                                        else
                                        {
                                            var ExtendedTarget = TargetSelector.GetTarget(QExtended.Range, Q.DamageType);
                                            if (ExtendedTarget != null)
                                            {
                                                var Minions = MinionManager.GetMinions(ObjectManager.Player.ServerPosition, Q.Range, MinionTypes.All, MinionTeam.NotAlly);
                                                foreach (var Minion in Minions)
                                                {
                                                    var BOX        = new Geometry.Polygon.Rectangle(ObjectManager.Player.ServerPosition, ObjectManager.Player.ServerPosition.Extend(Minion.ServerPosition, QExtended.Range), QExtended.Width);
                                                    var Prediction = QExtended.GetPrediction(ExtendedTarget);
                                                    if (BOX.IsInside(Prediction.UnitPosition))
                                                    {
                                                        if (Prediction.Hitchance >= Q.MinHitChance)
                                                        {
                                                            Q.CastOnUnit(Minion);
                                                            break;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                    else
                                    {
                                        var killableTarget = HeroManager.Enemies.FirstOrDefault(x => x.isKillableAndValidTarget(Q.GetDamage(x), TargetSelector.DamageType.Physical, Q.Range));
                                        if (killableTarget != null)
                                        {
                                            Q.CastOnUnit(killableTarget);
                                        }
                                    }
                                }
                            }
                        }

                        if (MenuProvider.Champion.Combo.UseW)
                        {
                            if (W.isReadyPerfectly())
                            {
                                if (!ObjectManager.Player.IsDashing())
                                {
                                    if (HasPassive == false)
                                    {
                                        if (HeroManager.Enemies.Any(x => Orbwalking.InAutoAttackRange(x)))
                                        {
                                            var Target = TargetSelector.GetTarget(W.Range, W.DamageType);
                                            if (Target != null)
                                            {
                                                WNoCollision.Cast(Target, false, true);
                                            }
                                        }
                                        else
                                        {
                                            var Target = TargetSelector.GetTargetNoCollision(W);
                                            if (Target != null)
                                            {
                                                W.Cast(Target);
                                            }
                                        }
                                    }
                                    else
                                    {
                                        var killableTarget = HeroManager.Enemies.FirstOrDefault(x => x.isKillableAndValidTarget(W.GetDamage(x), TargetSelector.DamageType.Physical, W.Range) && W.GetPrediction(x).Hitchance >= HitChance.High);
                                        if (killableTarget != null)
                                        {
                                            W.Cast(killableTarget);
                                        }
                                    }
                                }
                            }
                        }

                        break;
                    }

                    case Orbwalking.OrbwalkingMode.Mixed:
                    {
                        if (MenuProvider.Champion.Harass.UseQ)
                        {
                            if (HasPassive == false)
                            {
                                if (Q.isReadyPerfectly())
                                {
                                    if (!ObjectManager.Player.IsDashing())
                                    {
                                        if (ObjectManager.Player.isManaPercentOkay(MenuProvider.Champion.Harass.IfMana))
                                        {
                                            var Target = TargetSelector.GetTarget(Q.Range, Q.DamageType);
                                            if (Target != null)
                                            {
                                                Q.CastOnUnit(Target);
                                            }
                                            else
                                            {
                                                var ExtendedTarget = TargetSelector.GetTarget(QExtended.Range, Q.DamageType);
                                                if (ExtendedTarget != null)
                                                {
                                                    var Minions = MinionManager.GetMinions(ObjectManager.Player.ServerPosition, Q.Range, MinionTypes.All, MinionTeam.NotAlly);
                                                    foreach (var Minion in Minions)
                                                    {
                                                        var BOX        = new Geometry.Polygon.Rectangle(ObjectManager.Player.ServerPosition, ObjectManager.Player.ServerPosition.Extend(Minion.ServerPosition, QExtended.Range), QExtended.Width);
                                                        var Prediction = QExtended.GetPrediction(ExtendedTarget);
                                                        if (BOX.IsInside(Prediction.UnitPosition))
                                                        {
                                                            if (Prediction.Hitchance >= Q.MinHitChance)
                                                            {
                                                                Q.CastOnUnit(Minion);
                                                                break;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }

                        if (MenuProvider.Champion.Harass.UseW)
                        {
                            if (W.isReadyPerfectly())
                            {
                                if (!ObjectManager.Player.IsDashing())
                                {
                                    if (ObjectManager.Player.isManaPercentOkay(MenuProvider.Champion.Harass.IfMana))
                                    {
                                        if (HasPassive == false)
                                        {
                                            if (HeroManager.Enemies.Any(x => Orbwalking.InAutoAttackRange(x)))
                                            {
                                                var Target = TargetSelector.GetTarget(W.Range, W.DamageType);
                                                if (Target != null)
                                                {
                                                    WNoCollision.Cast(Target, false, true);
                                                }
                                            }
                                            else
                                            {
                                                var Target = TargetSelector.GetTargetNoCollision(W);
                                                if (Target != null)
                                                {
                                                    W.Cast(Target);
                                                }
                                            }
                                        }
                                        else
                                        {
                                            var killableTarget = HeroManager.Enemies.FirstOrDefault(x => x.isKillableAndValidTarget(W.GetDamage(x), TargetSelector.DamageType.Physical, W.Range) && W.GetPrediction(x).Hitchance >= HitChance.High);
                                            if (killableTarget != null)
                                            {
                                                W.Cast(killableTarget);
                                            }
                                        }
                                    }
                                }
                            }
                        }

                        break;
                    }

                    case Orbwalking.OrbwalkingMode.LaneClear:
                    {
                        //Laneclear
                        if (MenuProvider.Champion.Laneclear.UseQ)
                        {
                            if (HasPassive == false)
                            {
                                if (ObjectManager.Player.isManaPercentOkay(MenuProvider.Champion.Laneclear.IfMana))
                                {
                                    if (Q.isReadyPerfectly())
                                    {
                                        if (!ObjectManager.Player.IsDashing())
                                        {
                                            var Minions = MinionManager.GetMinions(ObjectManager.Player.ServerPosition, Q.Range);
                                            foreach (var Minion in Minions)
                                            {
                                                var BOX = new Geometry.Polygon.Rectangle(ObjectManager.Player.ServerPosition, ObjectManager.Player.ServerPosition.Extend(Minion.ServerPosition, QExtended.Range), QExtended.Width);
                                                if (Minions.Count(x => BOX.IsInside(x.ServerPosition)) >= 3)
                                                {
                                                    Q.CastOnUnit(Minion);
                                                    break;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }

                        //Jungleclear
                        if (MenuProvider.Champion.Jungleclear.UseQ)
                        {
                            if (HasPassive == false)
                            {
                                if (ObjectManager.Player.isManaPercentOkay(MenuProvider.Champion.Jungleclear.IfMana))
                                {
                                    if (Q.isReadyPerfectly())
                                    {
                                        if (!ObjectManager.Player.IsDashing())
                                        {
                                            var Target = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth).FirstOrDefault(x => x.IsValidTarget(Q.Range));
                                            if (Target != null)
                                            {
                                                Q.CastOnUnit(Target);
                                            }
                                        }
                                    }
                                }
                            }
                        }

                        if (MenuProvider.Champion.Jungleclear.UseW)
                        {
                            if (HasPassive == false)
                            {
                                if (ObjectManager.Player.isManaPercentOkay(MenuProvider.Champion.Jungleclear.IfMana))
                                {
                                    if (W.isReadyPerfectly())
                                    {
                                        if (!ObjectManager.Player.IsDashing())
                                        {
                                            var Target = MinionManager.GetMinions(W.Range, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth).FirstOrDefault(x => x.IsValidTarget(W.Range));
                                            if (Target != null)
                                            {
                                                W.Cast(Target);
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        break;
                    }
                    }

                    if (MenuProvider.Champion.Harass.AutoHarass)
                    {
                        if (MenuProvider.Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Combo && MenuProvider.Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Mixed)
                        {
                            if (!ObjectManager.Player.IsRecalling())
                            {
                                if (ObjectManager.Player.isManaPercentOkay(MenuProvider.Champion.Harass.IfMana))
                                {
                                    if (MenuProvider.Champion.Harass.UseQ)
                                    {
                                        var ExtendedTarget = TargetSelector.GetTarget(QExtended.Range, Q.DamageType);
                                        if (ExtendedTarget != null)
                                        {
                                            if (ObjectManager.Player.UnderTurret(true) ? !ExtendedTarget.UnderTurret(true) : true)
                                            {
                                                var Minions = MinionManager.GetMinions(ObjectManager.Player.ServerPosition, Q.Range, MinionTypes.All, MinionTeam.NotAlly);
                                                foreach (var Minion in Minions)
                                                {
                                                    var BOX        = new Geometry.Polygon.Rectangle(ObjectManager.Player.ServerPosition, ObjectManager.Player.ServerPosition.Extend(Minion.ServerPosition, QExtended.Range), QExtended.Width);
                                                    var Prediction = QExtended.GetPrediction(ExtendedTarget);
                                                    if (BOX.IsInside(Prediction.UnitPosition))
                                                    {
                                                        if (Prediction.Hitchance >= Q.MinHitChance)
                                                        {
                                                            Q.CastOnUnit(Minion);
                                                            break;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
示例#2
0
        private void Game_OnUpdate(EventArgs args)
        {
            if (!ObjectManager.Player.IsDead)
            {
                if (HasPassive == false)
                {
                    switch (MenuProvider.Orbwalker.ActiveMode)
                    {
                    case Orbwalking.OrbwalkingMode.Combo:
                    {
                        if (MenuProvider.Champion.Combo.UseQ)
                        {
                            if (Q.isReadyPerfectly())
                            {
                                if (!ObjectManager.Player.IsDashing())
                                {
                                    var Target = TargetSelector.GetTarget(Q.Range, Q.DamageType);
                                    if (Target != null)
                                    {
                                        Q.CastOnUnit(Target);
                                    }
                                    else
                                    {
                                        var ExtendedTarget = TargetSelector.GetTarget(QExtended.Range, Q.DamageType);
                                        if (ExtendedTarget != null)
                                        {
                                            var Minions = MinionManager.GetMinions(ObjectManager.Player.ServerPosition, Q.Range, MinionTypes.All, MinionTeam.NotAlly);
                                            foreach (var Minion in Minions)
                                            {
                                                var BOX = new Geometry.Polygon.Rectangle(ObjectManager.Player.ServerPosition, ObjectManager.Player.ServerPosition.Extend(Minion.ServerPosition, QExtended.Range), QExtended.Width);
                                                if (BOX.IsInside(QExtended.GetPrediction(ExtendedTarget).UnitPosition))
                                                {
                                                    Q.CastOnUnit(Minion);
                                                    break;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }

                        if (MenuProvider.Champion.Combo.UseW)
                        {
                            if (W.isReadyPerfectly())
                            {
                                if (!ObjectManager.Player.IsDashing())
                                {
                                    if (HeroManager.Enemies.Any(x => Orbwalking.InAutoAttackRange(x)))
                                    {
                                        WNoCollision.CastOnBestTarget();
                                    }
                                    else
                                    {
                                        var Target = TargetSelector.GetTargetNoCollision(W);
                                        if (Target != null)
                                        {
                                            W.Cast(Target);
                                        }
                                    }
                                }
                            }
                        }

                        break;
                    }

                    case Orbwalking.OrbwalkingMode.Mixed:
                    {
                        if (MenuProvider.Champion.Harass.UseQ)
                        {
                            if (Q.isReadyPerfectly())
                            {
                                if (!ObjectManager.Player.IsDashing())
                                {
                                    if (ObjectManager.Player.isManaPercentOkay(MenuProvider.Champion.Harass.IfMana))
                                    {
                                        var Target = TargetSelector.GetTarget(Q.Range, Q.DamageType);
                                        if (Target != null)
                                        {
                                            Q.CastOnUnit(Target);
                                        }
                                        else
                                        {
                                            var ExtendedTarget = TargetSelector.GetTarget(QExtended.Range, Q.DamageType);
                                            if (ExtendedTarget != null)
                                            {
                                                var Minions = MinionManager.GetMinions(ObjectManager.Player.ServerPosition, Q.Range, MinionTypes.All, MinionTeam.NotAlly);
                                                foreach (var Minion in Minions)
                                                {
                                                    var BOX = new Geometry.Polygon.Rectangle(ObjectManager.Player.ServerPosition, ObjectManager.Player.ServerPosition.Extend(Minion.ServerPosition, QExtended.Range), QExtended.Width);
                                                    if (BOX.IsInside(QExtended.GetPrediction(ExtendedTarget).UnitPosition))
                                                    {
                                                        Q.CastOnUnit(Minion);
                                                        break;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }

                        if (MenuProvider.Champion.Harass.UseW)
                        {
                            if (W.isReadyPerfectly())
                            {
                                if (!ObjectManager.Player.IsDashing())
                                {
                                    if (ObjectManager.Player.isManaPercentOkay(MenuProvider.Champion.Harass.IfMana))
                                    {
                                        var Target = TargetSelector.GetTargetNoCollision(W);
                                        if (Target != null)
                                        {
                                            W.Cast(Target);
                                        }
                                    }
                                }
                            }
                        }

                        break;
                    }

                    case Orbwalking.OrbwalkingMode.LaneClear:
                    {
                        //Laneclear
                        if (MenuProvider.Champion.Laneclear.UseQ)
                        {
                            if (ObjectManager.Player.isManaPercentOkay(MenuProvider.Champion.Laneclear.IfMana))
                            {
                                if (Q.isReadyPerfectly())
                                {
                                    if (!ObjectManager.Player.IsDashing())
                                    {
                                        var Minions = MinionManager.GetMinions(ObjectManager.Player.ServerPosition, Q.Range);
                                        foreach (var Minion in Minions)
                                        {
                                            var BOX = new Geometry.Polygon.Rectangle(ObjectManager.Player.ServerPosition, ObjectManager.Player.ServerPosition.Extend(Minion.ServerPosition, QExtended.Range), QExtended.Width);
                                            if (Minions.Count(x => BOX.IsInside(x.ServerPosition)) >= 3)
                                            {
                                                Q.CastOnUnit(Minion);
                                                break;
                                            }
                                        }
                                    }
                                }
                            }
                        }

                        //Jungleclear
                        if (MenuProvider.Champion.Jungleclear.UseQ)
                        {
                            if (ObjectManager.Player.isManaPercentOkay(MenuProvider.Champion.Jungleclear.IfMana))
                            {
                                if (Q.isReadyPerfectly())
                                {
                                    if (!ObjectManager.Player.IsDashing())
                                    {
                                        var Target = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.Neutral).FirstOrDefault(x => x.IsValidTarget(Q.Range));
                                        if (Target != null)
                                        {
                                            Q.CastOnUnit(Target);
                                        }
                                    }
                                }
                            }
                        }

                        if (MenuProvider.Champion.Jungleclear.UseW)
                        {
                            if (ObjectManager.Player.isManaPercentOkay(MenuProvider.Champion.Jungleclear.IfMana))
                            {
                                if (W.isReadyPerfectly())
                                {
                                    if (!ObjectManager.Player.IsDashing())
                                    {
                                        var Target = MinionManager.GetMinions(W.Range, MinionTypes.All, MinionTeam.Neutral).FirstOrDefault(x => x.IsValidTarget(W.Range));
                                        if (Target != null)
                                        {
                                            W.Cast(Target);
                                        }
                                    }
                                }
                            }
                        }
                        break;
                    }
                    }
                }
            }
        }