示例#1
0
        private static void Game_OnUpdate(EventArgs args)
        {
            try // lazy
            {
                //var target2 = TargetSelector.GetTarget(Champion.Q.Range, TargetSelector.DamageType.Magical);
                //if (target2.IsValidTarget())
                //    Game.PrintChat(Champion.Q.GetPrediction(target2).CollisionObjects.Count.ToString());



                if (GlobalManager.Config.Item("chase").GetValue <KeyBind>().Active)
                {
                    switch (Champion.R.Level)
                    {
                    case 1:
                        rRange = 1500;
                        break;

                    case 2:
                        rRange = 3000;
                        break;
                    }
                    GlobalManager.GetHero.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos);
                    var targets = TargetSelector.GetTarget(rRange, TargetSelector.DamageType.Magical);
                    if (!targets.IsValidTarget())
                    {
                        return;
                    }

                    if (GlobalManager.Config.Item("usewchase").GetValue <bool>() && targets.IsValidTarget(Champion.E.Range))
                    {
                        LaneOptions.CastW(targets);
                    }

                    var target1 = TargetSelector.GetSelectedTarget();
                    if (!target1.IsValidTarget(rRange))
                    {
                        return;
                    }
                    if (GlobalManager.Config.Item("chaser").GetValue <bool>() &&
                        target1.Distance(GlobalManager.GetHero) > Champion.W.Range + 200 &&
                        targets.Distance(GlobalManager.GetHero) < rRange &&
                        Champion.R.IsReady())
                    {
                        Champion.R.Cast(GlobalManager.GetHero.Position.Extend(target1.Position,
                                                                              target1.Distance(GlobalManager.GetHero.Position) + 260));
                    }
                }

                if (GlobalManager.GetHero.IsDead)
                {
                    return;
                }
                if (GlobalManager.GetHero.IsRecalling())
                {
                    return;
                }

                if (Champion.casted == false)
                {
                    MenuManager.Orbwalker.SetAttack(true);
                }

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


                if (GlobalManager.Config.Item("doHuman").GetValue <bool>())
                {
                    if (!Humanizer.CheckDelay("generalDelay")) // Wait for delay for all other events
                    {
                        return;
                    }
                    //Console.WriteLine("Seeding Human Delay");
                    var nDelay = Seeder.Next(GlobalManager.Config.Item("minDelay").GetValue <Slider>().Value, GlobalManager.Config.Item("maxDelay").GetValue <Slider>().Value); // set a new random delay :D
                    Humanizer.ChangeDelay("generalDelay", nDelay);
                }

                if (MenuManager.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
                {
                    var expires = (GlobalManager.GetHero.Spellbook.GetSpell(SpellSlot.Q).CooldownExpires);
                    var CD      =
                        (int)
                        (expires -
                         (Game.Time - 1));
                    if (Champion.W.IsReady() && !(CD < 2.5f))
                    {
                        MenuManager.Orbwalker.SetAttack(true);
                    }
                    else
                    {
                        MenuManager.Orbwalker.SetAttack(false);
                    }

                    Champion.AABlock();
                    LaneOptions.Combo();

                    MenuManager.Orbwalker.SetAttack(!(target.Distance(GlobalManager.GetHero) >=
                                                      GlobalManager.Config.Item("minaarange").GetValue <Slider>().Value));
                }

                if (MenuManager.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed)
                {
                    LaneOptions.Mixed();
                    MenuManager.Orbwalker.SetAttack(true);
                }

                if (MenuManager.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear)
                {
                    LaneOptions.JungleClear();
                    LaneOptions.LaneClear();
                }

                if (MenuManager.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LastHit)
                {
                    LaneOptions.LastHit();
                }


                if (MenuManager.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.None)
                {
                    if (GlobalManager.Config.Item("tearS").GetValue <KeyBind>().Active)
                    {
                        ItemManager.TearStack();
                    }

                    ItemManager.Potion();
                    MenuManager.Orbwalker.SetAttack(true);
                }

                if (GlobalManager.Config.Item("UseQauto").GetValue <bool>() && target != null)
                {
                    if (Champion.Q.IsReady() && target.IsValidTarget(Champion.Q.Range))
                    {
                        Champion.Q.Cast(target);
                    }
                }


                // Seplane();
                ItemManager.Item();
                Champion.KillSteal();
                ItemManager.Potion();

                if (GlobalManager.Config.Item("level").GetValue <bool>())
                {
                    AutoLevelManager.LevelUpSpells();
                }

                if (!GlobalManager.Config.Item("autow").GetValue <bool>() || !target.UnderTurret(true))
                {
                    return;
                }

                if (target == null)
                {
                    return;
                }

                if (!ObjectManager.Get <Obj_AI_Turret>()
                    .Any(turret => turret.IsValidTarget(300) && turret.IsAlly && turret.Health > 0))
                {
                    return;
                }

                Champion.W.CastOnUnit(target);
                // DebugClass.ShowDebugInfo(true);
            }
            catch
            {
                // ignored
            }
        }