/// <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(); } }
/// <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); }
/// <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); } }
/// <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); }
/// <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)); }
/// <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); } }
/// <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); } }
/// <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(); } }
public static QRecticle AxeBefore(QRecticle a) { return(QReticles.Where(m => m.InTime && m.TimeLeft < a.TimeLeft).OrderBy(m => m.TimeLeft).LastOrDefault()); }
/// <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); } }
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(); } }