Beispiel #1
0
        /// <summary>
        ///     Called when the game updates.
        /// </summary>
        /// <param name="args">The <see cref="EventArgs" /> instance containing the event data.</param>
        private void GameOnOnUpdate(EventArgs args)
        {
            QReticles.RemoveAll(x => x.Object.IsDead);

            CatchAxe();
            if (W.IsReady() && Menu["Misc"].GetValue <MenuBool>("UseWSlow") && Player.HasBuffOfType(BuffType.Slow))
            {
                W.Cast();
            }

            switch (Orbwalker.ActiveMode)
            {
            case OrbwalkerMode.Harass:
                Harass();
                break;

            case OrbwalkerMode.LaneClear:
                LaneClear();
                break;

            case OrbwalkerMode.Combo:
                Combo();
                break;
            }

            if (Menu["Harass"].GetValue <MenuKeyBind>("UseHarassToggle").Active)
            {
                Harass();
            }
        }
Beispiel #2
0
        /// <summary>
        ///     Called when a game object is deleted.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="args">The <see cref="EventArgs" /> instance containing the event data.</param>
        private void GameObjectOnOnDelete(GameObject sender, EventArgs args)
        {
            if (!sender.Name.Contains("Draven_Base_Q_reticle_self.troy"))
            {
                return;
            }

            QReticles.RemoveAll(x => x.Object.NetworkId == sender.NetworkId);
        }
Beispiel #3
0
        /// <summary>
        ///     Catches the axe.
        /// </summary>
        private void CatchAxe()
        {
            var catchOption = Menu["axeSetting"].GetValue <MenuList>("AxeMode").SelectedValue; //"Combo", "Any", "Always"

            if (((catchOption == "Combo" && Orbwalker.ActiveMode == OrbwalkerMode.Combo) ||
                 (catchOption == "Any" && Orbwalker.ActiveMode != OrbwalkerMode.None)) ||
                catchOption == "Always")
            {
                //Game.Print(QReticles.Count());
                var bestReticle =
                    QReticles.Where(
                        x =>
                        x.Object.Position.Distance(Game.CursorPos)
                        < Menu["axeSetting"].GetValue <MenuSlider>("CatchAxeRange").Value)
                    .OrderBy(x => x.Position.Distance(Player.Position))
                    .ThenBy(x => x.Position.Distance(Game.CursorPos))
                    .ThenBy(x => x.ExpireTime)
                    .FirstOrDefault();

                if (bestReticle != null && bestReticle.Object.Position.Distance(Player.Position) > 100)
                {
                    var eta        = 1000 * (Player.Distance(bestReticle.Position) / Player.MoveSpeed);
                    var expireTime = bestReticle.ExpireTime - Environment.TickCount;

                    if (eta >= expireTime && Menu["axeSetting"].GetValue <MenuBool>("UseWForQ"))
                    {
                        W.Cast();
                    }

                    if (Menu["axeSetting"].GetValue <MenuBool>("DontCatchUnderTurret")) // debug this?
                    {
                        // If we're under the turret as well as the axe, catch the axe
                        if (!bestReticle.Position.IsUnderEnemyTurret())
                        {
                            Orbwalker.SetOrbwalkerPosition(bestReticle.Position);
                        }
                        //else if (!bestReticle.Position.IsUnderEnemyTurret())
                        //{
                        //    Game.Print("Catch2");
                        //    Orbwalker.SetOrbwalkerPosition(bestReticle.Position);
                        //}
                    }
                    else
                    {
                        Orbwalker.SetOrbwalkerPosition(bestReticle.Position);
                    }
                }
                else
                {
                    Orbwalker.SetOrbwalkerPosition(Game.CursorPos);
                }
            }
            else
            {
                Orbwalker.SetOrbwalkerPosition(Game.CursorPos);
            }
        }
Beispiel #4
0
        /// <summary>
        ///     Called when a game object is created.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="args">The <see cref="EventArgs" /> instance containing the event data.</param>
        private static void GameObjectOnOnCreate(GameObject sender, EventArgs args)
        {
            if (!sender.Name.Contains("Draven_Base_Q_reticle_self.troy"))
            {
                return;
            }

            QReticles.Add(new QRecticle(sender, Environment.TickCount + 1800));
            Core.DelayAction(() => QReticles.RemoveAll(x => x.Object.NetworkId == sender.NetworkId), 1800);
        }
Beispiel #5
0
        /// <summary>
        ///     Called when a game object is created.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="args">The <see cref="EventArgs" /> instance containing the event data.</param>
        private void GameObjectOnOnCreate(GameObject sender, EventArgs args)
        {
            //Game.Print(sender.Name);
            if (!sender.Name.Contains("Q_reticle_self"))
            {
                return;
            }

            QReticles.Add(new QRecticle(sender, Environment.TickCount + 1300));
            Utility.DelayAction.Add(1300, () => QReticles.RemoveAll(x => x.Object.NetworkId == sender.NetworkId));
        }
Beispiel #6
0
        /// <summary>
        ///     Called when the game draws itself.
        /// </summary>
        /// <param name="args">The <see cref="EventArgs" /> instance containing the event data.</param>
        private void DrawingOnOnDraw(EventArgs args)
        {
            var drawE           = Menu["Drawing"].GetValue <MenuBool>("DrawE");
            var drawAxeLocation = Menu["Drawing"].GetValue <MenuBool>("DrawAxeLocation");
            var drawAxeRange    = Menu["Drawing"].GetValue <MenuBool>("DrawAxeRange");

            if (drawE)
            {
                Render.Circle.DrawCircle(
                    ObjectManager.Player.Position,
                    E.Range,
                    E.IsReady() ? System.Drawing.Color.Aqua : System.Drawing.Color.Red);
            }

            if (drawAxeLocation)
            {
                var bestAxe =
                    QReticles.Where(
                        x =>
                        x.Position.Distance(Game.CursorPos) < Menu["axeSetting"].GetValue <MenuSlider>("CatchAxeRange").Value)
                    .OrderBy(x => x.Position.Distance(Player.Position))
                    .ThenBy(x => x.Position.Distance(Game.CursorPos))
                    .FirstOrDefault();

                if (bestAxe != null)
                {
                    Render.Circle.DrawCircle(bestAxe.Position, 120, System.Drawing.Color.LimeGreen);
                }

                foreach (var axe in
                         QReticles.Where(x => x.Object.NetworkId != (bestAxe == null ? 0 : bestAxe.Object.NetworkId)))
                {
                    Render.Circle.DrawCircle(axe.Position, 120, System.Drawing.Color.Yellow);
                }
            }

            if (drawAxeRange)
            {
                Render.Circle.DrawCircle(
                    Game.CursorPos,
                    Menu["axeSetting"].GetValue <MenuSlider>("CatchAxeRange").Value,
                    System.Drawing.Color.DodgerBlue);
            }
        }
Beispiel #7
0
        /// <summary>
        ///     Called when the game draws itself.
        /// </summary>
        /// <param name="args">The <see cref="EventArgs" /> instance containing the event data.</param>
        private static void DrawingOnOnDraw(EventArgs args)
        {
            var drawE           = Getcheckboxvalue(DrawingsMenu, "DrawE");
            var drawAxeLocation = Getcheckboxvalue(DrawingsMenu, "DrawAxeLocation");
            var drawAxeRange    = Getcheckboxvalue(DrawingsMenu, "DrawAxeRange");

            if (drawE)
            {
                Drawing.DrawCircle(
                    ObjectManager.Player.Position,
                    E.Range,
                    E.IsReady() ? Color.Aqua : Color.Red);
            }

            if (drawAxeLocation)
            {
                var bestAxe =
                    QReticles.Where(
                        x =>
                        x.Position.Distance(Game.CursorPos) < Getslidervalue(AxeMenu, "CatchAxeRange"))
                    .OrderBy(x => x.Position.Distance(Player.ServerPosition))
                    .ThenBy(x => x.Position.Distance(Game.CursorPos))
                    .FirstOrDefault();

                if (bestAxe != null)
                {
                    Drawing.DrawCircle(bestAxe.Position, 120, Color.LimeGreen);
                }

                foreach (var axe in
                         QReticles.Where(x => x.Object.NetworkId != (bestAxe == null ? 0 : bestAxe.Object.NetworkId)))
                {
                    Drawing.DrawCircle(axe.Position, 120, Color.Yellow);
                }
            }

            if (drawAxeRange)
            {
                Drawing.DrawCircle(
                    Game.CursorPos,
                    Getslidervalue(AxeMenu, "CatchAxeRange"),
                    Color.DodgerBlue);
            }
        }
Beispiel #8
0
        /// <summary>
        ///     Called when the game updates.
        /// </summary>
        /// <param name="args">The <see cref="EventArgs" /> instance containing the event data.</param>
        private static void GameOnOnUpdate(EventArgs args)
        {
            QReticles.RemoveAll(x => x.Object.IsDead);
            foreach (var a in QReticles)
            {
                if (!a.CanOrbwalkWithUserDelay)
                {
                    canMove = false;
                }
                if (!a.CanAttack)
                {
                    canAttack = false;
                }
            }

            CatchAxe();

            if (W.IsReady() && Getcheckboxvalue(MiscMenu, "UseWSlow") && Player.HasBuffOfType(BuffType.Slow))
            {
                W.Cast();
            }

            switch (Orbwalker.ActiveModesFlags)
            {
            case Orbwalker.ActiveModes.Harass:
                Harass();
                break;

            case Orbwalker.ActiveModes.LaneClear:
                LaneClear();
                break;

            case Orbwalker.ActiveModes.Combo:
                Combo();
                break;
            }

            if (Getkeybindvalue(HarassMenu, "UseHarassToggle"))
            {
                Harass();
            }
        }
Beispiel #9
0
 public static QRecticle AxeBefore(QRecticle a)
 {
     return(QReticles.Where(m => m.InTime && m.TimeLeft < a.TimeLeft).OrderBy(m => m.TimeLeft).LastOrDefault());
 }
Beispiel #10
0
        /// <summary>
        ///     Catches the axe.
        /// </summary>
        private static void CatchAxe()
        {
            var catchOption = Getslidervalue(AxeMenu, "AxeMode");

            if (((catchOption == 0 && Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo)) ||
                 (catchOption == 1 && !Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.None))) ||
                catchOption == 2)
            {
                var bestReticle =
                    QReticles.Where(
                        x =>
                        x.Object.Position.Distance(Game.CursorPos)
                        < Getslidervalue(AxeMenu, "CatchAxeRange"))
                    .OrderBy(x => x.Position.Distance(Player.ServerPosition))
                    .ThenBy(x => x.Position.Distance(Game.CursorPos))
                    .ThenBy(x => x.ExpireTime)
                    .FirstOrDefault();

                if (bestReticle != null && bestReticle.Object.Position.Distance(Player.ServerPosition) > 100)
                {
                    var eta        = 1000 * (Player.Distance(bestReticle.Position) / Player.MoveSpeed);
                    var expireTime = bestReticle.ExpireTime - Environment.TickCount;

                    if (eta >= expireTime && Getcheckboxvalue(AxeMenu, "UseWForQ"))
                    {
                        W.Cast();
                    }

                    if (Getcheckboxvalue(AxeMenu, "DontCatchUnderTurret"))
                    {
                        // If we're under the turret as well as the axe, catch the axe
                        if (Player.IsUnderEnemyturret() && bestReticle.Object.Position.UnderTurret(true))
                        {
                            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.None))
                            {
                                EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, bestReticle.Position);
                            }
                            else
                            {
                                Orbwalker.DisableMovement = true;
                                Orbwalker.OrbwalkTo(bestReticle.Position);
                            }
                        }
                        else if (!bestReticle.Position.UnderTurret(true))
                        {
                            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.None))
                            {
                                Orbwalker.DisableMovement = true;
                                EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, bestReticle.Position);
                            }
                            else
                            {
                                Orbwalker.DisableMovement = true;
                                Orbwalker.OrbwalkTo(bestReticle.Position);
                            }
                        }
                    }
                    else
                    {
                        if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.None))
                        {
                            Orbwalker.DisableMovement = true;
                            EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, bestReticle.Position);
                        }
                        else
                        {
                            Orbwalker.DisableMovement = true;
                            Orbwalker.OrbwalkTo(bestReticle.Position);
                        }
                    }
                }
                else
                {
                    Orbwalker.DisableMovement = false;
                    // Orbwalker.OrbwalkTo(Game.CursorPos);
                }
            }
            else
            {
                // Orbwalker.DisableMovement = false;
                //  Orbwalker.OrbwalkTo(Game.CursorPos);
            }
        }
Beispiel #11
0
        public static void Axes()
        {
            if (KMenu.axeMode == 0 || (KMenu.axeMode == 1 && Orbwalker.ActiveModesFlags.ToString().Contains(Orbwalker.ActiveModes.Combo.ToString())))
            {
                var bestReticle =
                    QReticles.Where(
                        x =>
                        x.Object.Position.Distance(Game.CursorPos) < KMenu.axeRange)
                    .OrderBy(x => x.Position.Distance(User.ServerPosition))
                    .ThenBy(x => x.Position.Distance(Game.CursorPos))
                    .ThenBy(x => x.ExpireTime)
                    .FirstOrDefault();

                if (bestReticle != null && bestReticle.Object.Position.Distance(ObjectManager.Player.ServerPosition) > 100)
                {
                    bestreticlepos = bestReticle.Position;
                    var eta        = 1000 * (ObjectManager.Player.Distance(bestReticle.Position) / ObjectManager.Player.MoveSpeed);
                    var expireTime = bestReticle.ExpireTime - Environment.TickCount;

                    if (eta >= expireTime && KMenu.axeLimit1)
                    {
                        Player.CastSpell(SpellSlot.W);
                    }

                    if (KMenu.axeLimit2)
                    {
                        if (ObjectManager.Player.IsUnderEnemyturret() && bestReticle.Object.Position.IsUnderTurret())
                        {
                            if (Orbwalker.ActiveModesFlags == Orbwalker.ActiveModes.None)
                            {
                                Player.IssueOrder(GameObjectOrder.MoveTo, bestReticle.Position);
                            }
                            else
                            {
                                Orbwalker.OverrideOrbwalkPosition = GetReticlePosDelegate();
                            }
                        }
                        else if (!bestReticle.Position.IsUnderTurret())
                        {
                            if (Orbwalker.ActiveModesFlags == Orbwalker.ActiveModes.None)
                            {
                                Player.IssueOrder(GameObjectOrder.MoveTo, bestReticle.Position);
                            }
                            else
                            {
                                Orbwalker.OverrideOrbwalkPosition = GetReticlePosDelegate();
                            }
                        }
                    }
                    else
                    {
                        if (Orbwalker.ActiveModesFlags == Orbwalker.ActiveModes.None)
                        {
                            Player.IssueOrder(GameObjectOrder.MoveTo, bestReticle.Position);
                        }
                        else
                        {
                            Orbwalker.OverrideOrbwalkPosition = GetReticlePosDelegate();
                        }
                    }
                }
                else
                {
                    Orbwalker.OverrideOrbwalkPosition = GetMousePos();
                }
            }
            else
            {
                Orbwalker.OverrideOrbwalkPosition = GetMousePos();
            }
        }