예제 #1
0
        private static void Game_OnUpdate(EventArgs args)
        {
            try // lazy
            {
                if (getKeyBindItem(_config, "test"))
                {
                    Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos);
                    var targets = TargetSelector.GetTarget(Champion.W.Range, DamageType.Magical);
                    if (targets == null)
                    {
                        return;
                    }
                    if (Champion.W.IsReady())
                    {
                        LaneOptions.CastW(targets);
                        {
                            _lastw = Environment.TickCount;
                        }
                    }

                    if (Environment.TickCount - _lastw >= 700 - Game.Ping)
                    {
                        if (Champion.Q.IsReady())
                        {
                            LaneOptions.CastQn(targets);
                            _casted = true;
                        }
                    }

                    if (_casted)
                    {
                        LaneOptions.CastE(targets);
                        LaneOptions.CastQn(targets);
                        _casted = false;
                    }
                }

                if (getKeyBindItem(chase, "chase"))
                {
                    Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos);
                    var targets = TargetSelector.GetTarget(Champion.W.Range + 200, DamageType.Magical);
                    if (targets == null)
                    {
                        return;
                    }

                    if (getCheckBoxItem(chase, "usewchase"))
                    {
                        LaneOptions.CastW(targets);
                    }

                    if (getCheckBoxItem(chase, "chaser") &&
                        targets.Distance(GlobalManager.GetHero) > Champion.W.Range + 200)
                    {
                        Champion.R.Cast();
                    }
                }

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

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

                if (Champion.casted == false)
                {
                    Orbwalker.DisableAttacking = false;
                }

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

                if (getCheckBoxItem(humanizerMenu, "doHuman"))
                {
                    if (!Humanizer.CheckDelay("generalDelay")) // Wait for delay for all other events
                    {
                        return;
                    }
                    var nDelay = Seeder.Next(getSliderItem(humanizerMenu, "minDelay"),
                                             getSliderItem(humanizerMenu, "maxDelay")); // set a new random delay :D
                    Humanizer.ChangeDelay("generalDelay", nDelay);
                }

                if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
                {
                    var expires = GlobalManager.GetHero.Spellbook.GetSpell(SpellSlot.Q).CooldownExpires;

                    LaneOptions.COMBO();
                }

                if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass))
                {
                    LaneOptions.Mixed();
                    Orbwalker.DisableAttacking = false;
                }

                if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) ||
                    Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear))
                {
                    LaneOptions.JungleClear();
                    if (getKeyBindItem(laneMenu, "disablelane"))
                    {
                        Console.WriteLine("1");
                        if (GlobalManager.GetPassiveBuff == 4 && !GlobalManager.GetHero.HasBuff("RyzeR") &&
                            getCheckBoxItem(laneMenu, "passiveproc"))
                        {
                            Console.WriteLine("2");
                            return;
                        }

                        Console.WriteLine("3");
                        var qlchSpell = getCheckBoxItem(laneMenu, "useQlc");
                        var elchSpell = getCheckBoxItem(laneMenu, "useElc");
                        var wlchSpell = getCheckBoxItem(laneMenu, "useWlc");

                        var rSpell  = getCheckBoxItem(laneMenu, "useRl");
                        var rSlider = getSliderItem(laneMenu, "rMin");
                        var minMana = getSliderItem(laneMenu, "useEPL");

                        var minionCount =
                            EntityManager.MinionsAndMonsters.GetLaneMinions()
                            .Where(x => !x.IsAlly && Champion.Q.IsInRange(x));

                        if (GlobalManager.GetHero.ManaPercent <= minMana)
                        {
                            Console.WriteLine("4");
                            return;
                        }

                        foreach (var minion in minionCount)
                        {
                            Console.WriteLine("5");
                            if (!GlobalManager.CheckMinion(minion))
                            {
                                continue;
                            }

                            Console.WriteLine("123123123");

                            var minionHp = minion.Health;

                            SpellSequence(minion, "useQ2L", "useE2L", "useW2L", "useRl");

                            if (qlchSpell && Champion.Q.IsReady() && minion.IsValidTarget(Champion.Q.Range) &&
                                minionHp <= Champion.Q.GetDamage(minion) && GlobalManager.CheckMinion(minion))
                            {
                                Champion.Q.Cast(minion);
                            }

                            else if (wlchSpell && Champion.W.IsReady() && minion.IsValidTarget(Champion.W.Range) &&
                                     minionHp <= Champion.W.GetDamage(minion) && GlobalManager.CheckMinion(minion))
                            {
                                Champion.W.CastOnUnit(minion);
                            }

                            else if (elchSpell && Champion.E.IsReady() && minion.IsValidTarget(Champion.E.Range) &&
                                     minionHp <= Champion.E.GetDamage(minion) && GlobalManager.CheckMinion(minion))
                            {
                                Champion.E.CastOnUnit(minion);
                            }

                            if (rSpell && Champion.R.IsReady() && minion.IsValidTarget(Champion.Q.Range) &&
                                minionCount.Count() > rSlider && GlobalManager.CheckMinion(minion))
                            {
                                Champion.R.Cast();
                            }
                        }
                    }
                }

                if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LastHit))
                {
                    LaneOptions.LastHit();
                }


                if (getKeyBindItem(itemMenu, "tearS"))
                {
                    ItemManager.TearStack();
                }

                if (getKeyBindItem(passiveMenu, "autoPassive"))
                {
                    var minions = MinionManager.GetMinions(GlobalManager.GetHero.ServerPosition, Champion.Q.Range,
                                                           MinionTypes.All, MinionTeam.Enemy, MinionOrderTypes.MaxHealth);
                    if (ObjectManager.Player.ManaPercent < getSliderItem(passiveMenu, "ManapSlider"))
                    {
                        return;
                    }
                    if (ObjectManager.Player.IsRecalling())
                    {
                        return;
                    }
                    if (minions.Count >= 1)
                    {
                        return;
                    }
                    var stackSliders = getSliderItem(passiveMenu, "stackSlider");
                    if (ObjectManager.Player.InFountain())
                    {
                        return;
                    }

                    if (GlobalManager.GetPassiveBuff >= stackSliders)
                    {
                        return;
                    }

                    if (Utils.TickCount - Champion.Q.LastCastAttemptT >=
                        getSliderItem(passiveMenu, "autoPassiveTimer") * 1000 - (100 + Game.Ping / 2) &&
                        Champion.Q.IsReady())
                    {
                        if (!Game.CursorPos.IsZero)
                        {
                            Champion.Q.Cast(Game.CursorPos);
                        }
                    }
                }

                Orbwalker.DisableAttacking = false;

                if (getCheckBoxItem(mixedMenu, "UseQauto") && target != null)
                {
                    if (Champion.Q.IsReady() && target.IsValidTarget(Champion.Q.Range))
                    {
                        Champion.Q.Cast(target);
                    }
                }

                Champion.KillSteal();
            }
            catch
            {
                // ignored
            }
        }