private void OnEnemyGapcloser(object sender, GapcloserManagerArgs args) { try { if (args.UniqueId.Equals("q-gapcloser") && Q.IsReady() && BestTargetOnlyManager.Check("q-gapcloser", Q, args.Hero)) { if (args.End.Distance(Player.Position) <= Q.Range && !SpellCollision(Q, args.Hero)) { var delay = (int)(args.EndTime - Game.Time - Q.Delay - 0.1f); if (delay > 0) { Utility.DelayAction.Add(delay * 1000, () => Q.Cast(args.End)); } else { Q.Cast(args.End); } } } if (args.UniqueId.Equals("e-gapcloser") && E.IsReady() && BestTargetOnlyManager.Check("e-gapcloser", E, args.Hero)) { E.Cast(args.End.Extend(Player.Position, args.End.Distance(Player.Position) + E.Range)); } } catch (Exception ex) { Global.Logger.AddItem(new LogItem(ex)); } }
protected override void OnPostUpdate() { if (HeroListManager.Enabled("r-immobile") && R.IsReady()) { var target = GameObjects.EnemyHeroes.FirstOrDefault( t => t.IsValidTarget(R.Range) && HeroListManager.Check("r-immobile", t) && BestTargetOnlyManager.Check("r-immobile", R, t) && Utils.IsImmobile(t)); if (target != null) { Casting.SkillShot(target, R, HitChance.VeryHigh); } } if (W.Level > _wLevel) { _wLevel = W.Level; W.Range = Player.AttackRange + Player.BoundingRadius + GameObjects.EnemyHeroes.Select(e => e.BoundingRadius).DefaultIfEmpty(50).Average() + 20f * _wLevel; } if (R.Level > _rLevel) { _rLevel = R.Level; R.Range = 900f + 300f * _rLevel; } }
private void OnEnemyGapcloser(object sender, GapcloserManagerArgs args) { try { if (args.UniqueId.Equals("e-gapcloser") && E.IsReady() && BestTargetOnlyManager.Check("e-gapcloser", E, args.Hero)) { if (args.End.Distance(Player.Position) <= E.Range) { E.Cast(args.End); } } if (args.UniqueId.Equals("r-gapcloser") && R.IsReady() && BestTargetOnlyManager.Check("r-gapcloser", R, args.Hero) && Menu.Item(Menu.Name + ".miscellaneous.r-max").GetValue <Slider>().Value > GetRBuffCount()) { if (args.End.Distance(Player.Position) <= R.Range) { R.Cast(args.End); } } } catch (Exception ex) { Global.Logger.AddItem(new LogItem(ex)); } }
/// <summary> /// Setups the misc menu. /// </summary> private void SetupMiscMenu() { var miscMenu = Menu.AddSubMenu(new Menu("Misc", Menu.Name + ".miscellaneous")); var qImmobileMenu = miscMenu.AddSubMenu(new Menu("Q Immobile", $"{miscMenu.Name}.q-immobile")); HeroListManager.AddToMenu( qImmobileMenu, new HeroListManagerArgs("q-immobile") { IsWhitelist = false, Allies = false, Enemies = true, DefaultValue = false }); BestTargetOnlyManager.AddToMenu(qImmobileMenu, "q-immobile", true); miscMenu.AddItem(new MenuItem($"{miscMenu.Name}.q-range", "Q Range") .SetValue(new Slider((int)Q.Range, 500, (int)Q.Range)) ).ValueChanged += (sender, args) => { Q.Range = args.GetNewValue <Slider>().Value; }; miscMenu.AddItem(new MenuItem($"{miscMenu.Name}.w-range", "Card Pick Distance") .SetValue(new Slider((int)W.Range, 500, 800)) ).ValueChanged += (sender, args) => { W.Range = args.GetNewValue <Slider>().Value; }; miscMenu.AddItem(new MenuItem($"{miscMenu.Name}.w-delay", "Card Pick Delay") .SetValue(new Slider(150, 0, 400)) ).ValueChanged += (sender, args) => { Cards.Delay = args.GetNewValue <Slider>().Value; }; miscMenu.AddItem(new MenuItem($"{miscMenu.Name}.mode", "W Mode") .SetValue(new StringList(new[] { "Burst", "Team" })) ); miscMenu.AddItem(new MenuItem($"{miscMenu.Name}.r-card", "Pick Card on R").SetValue(true)); }
private void OnEnemyGapcloser(object sender, GapcloserManagerArgs args) { try { if (args.UniqueId.Equals("e-gapcloser") && E.IsReady() && BestTargetOnlyManager.Check("e-gapcloser", E, args.Hero)) { if (args.End.Distance(Player.Position) <= E.Range) { E.Cast(args.End); } } if (string.IsNullOrEmpty(args.UniqueId)) { if (Ultimate.IsActive(UltimateModeType.Gapcloser, args.Hero) && BestTargetOnlyManager.Check("r-gapcloser", R, args.Hero)) { RLogic(UltimateModeType.Gapcloser, HitChance.High, args.Hero); } } } catch (Exception ex) { Global.Logger.AddItem(new LogItem(ex)); } }
/// <summary> /// Post update. /// </summary> public void PostUpdate() { if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear || Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LastHit) { if (Cards.Has(CardColor.Red)) { var range = Player.AttackRange + Player.BoundingRadius * 1.5f; var minions = MinionManager.GetMinions(range, MinionTypes.All, MinionTeam.NotAlly); var pred = MinionManager.GetBestCircularFarmLocation( minions.Select(m => m.Position.To2D()).ToList(), 500, range); var target = minions.OrderBy(m => m.Distance(pred.Position)).FirstOrDefault(); if (target != null) { Orbwalker.ForceTarget(target); } } } if (!Cards.ShouldWait && Cards.Status != SelectStatus.Selecting && Cards.Status != SelectStatus.Selected) { Orbwalker.ForceTarget(null); } if (Cards.Status != SelectStatus.Selected) { if (Menu.Item(Menu.Name + ".manual.blue").GetValue <KeyBind>().Active) { Cards.Select(CardColor.Blue); } if (Menu.Item(Menu.Name + ".manual.red").GetValue <KeyBind>().Active) { Cards.Select(CardColor.Red); } if (Menu.Item(Menu.Name + ".manual.gold").GetValue <KeyBind>().Active) { Cards.Select(CardColor.Gold); } } if (HeroListManager.Enabled("q-immobile") && Q.IsReady()) { var target = GameObjects.EnemyHeroes.FirstOrDefault( t => t.IsValidTarget(Q.Range) && HeroListManager.Check("q-immobile", t) && BestTargetOnlyManager.Check("q-immobile", W, t) && IsImmobile(t)); if (target != null) { var best = BestQPosition( target, GameObjects.EnemyHeroes.Select(e => e as Obj_AI_Base).ToList(), HitChance.High); if (!best.Item2.Equals(Vector3.Zero) && best.Item1 >= 1) { Q.Cast(best.Item2); } } } }
/// <summary> /// Gap closer event /// </summary> /// <param name="sender"></param> /// <param name="args"></param> private void GapcloserManager_OnGapcloser(object sender, GapcloserManagerArgs args) { try { if (args.UniqueId == "e-gapcloser" && E.IsReady() && BestTargetOnlyManager.Check("e-gapcloser", E, args.Hero) && args.End.Distance(Player.Position) <= E.Range) { E.Cast(args.End); } } catch (Exception ex) { Global.Logger.AddItem(new LogItem(ex)); } }
private void OnBuffManagerBuff(object sender, BuffManagerArgs args) { try { if (W.IsReady()) { if (args.UniqueId.Equals("w-immobile") && BestTargetOnlyManager.Check("w-immobile", W, args.Hero) && W.IsInRange(args.Position)) { W.Cast(args.Position); } } } catch (Exception ex) { Global.Logger.AddItem(new LogItem(ex)); } }
private void OnEnemyGapcloser(object sender, GapcloserManagerArgs args) { try { if (args.UniqueId == "w-gapcloser" && W.IsReady() && BestTargetOnlyManager.Check("w-gapcloser", W, args.Hero)) { if (args.End.Distance(Player.Position) <= W.Range * 0.9f) { W.Cast(args.End); } } } catch (Exception ex) { Global.Logger.AddItem(new LogItem(ex)); } }
/// <summary> /// Post update /// </summary> protected override void OnPostUpdate() { // Assisted Ultimate if (_ultimateManager.IsActive(UltimateModeType.Assisted) && R.IsReady()) { if (_ultimateManager.ShouldMove(UltimateModeType.Assisted)) { Orbwalking.MoveTo(Game.CursorPos, Orbwalker.HoldAreaRadius); } if (!CastUltimate(UltimateModeType.Assisted, TargetSelector.GetTarget(R))) { CastUltimateSingle(UltimateModeType.Assisted); } } // Auto Ultimate if (_ultimateManager.IsActive(UltimateModeType.Auto) && R.IsReady()) { if (!CastUltimate(UltimateModeType.Auto, TargetSelector.GetTarget(R))) { CastUltimateSingle(UltimateModeType.Auto); } } // E Immobile targets if (HeroListManager.Enabled("e-immobile") && E.IsReady()) { var target = GameObjects.EnemyHeroes.FirstOrDefault(t => t.IsValidTarget(E.Range) && HeroListManager.Check("e-immobile", t) && BestTargetOnlyManager.Check("e-immobile", E, t) && Utils.IsImmobile(t) ); if (target != null) { E.Cast(target); } } }
private void WLogic(HitChance hitChance) { try { var ts = Targets.FirstOrDefault( t => W.CanCast(t) && (_lastQPoisonDelay < Game.Time && GetPoisonBuffEndTime(t) < W.Delay * 1.2 || _lastQPoisonT == null || _lastQPoisonT.NetworkId != t.NetworkId || (HeroListManager.Check("w-fleeing", t) && BestTargetOnlyManager.Check("w-fleeing", W, t) && !t.IsFacing(Player) && t.IsMoving && t.Distance(Player) > 150))); if (ts != null) { Casting.SkillShot(ts, W, hitChance); } } catch (Exception ex) { Global.Logger.AddItem(new LogItem(ex)); } }
private void OnBuffManagerBuff(object sender, BuffManagerArgs args) { try { if (Q.IsReady()) { if (args.UniqueId.Equals("q-immobile") && BestTargetOnlyManager.Check("q-immobile", Q, args.Hero) && Q.IsInRange(args.Hero)) { var best = BestQPosition( args.Hero, GameObjects.EnemyHeroes.Select(e => e as Obj_AI_Base).ToList(), HitChance.High); if (!best.Item2.Equals(Vector3.Zero) && best.Item1 >= 1) { Q.Cast(best.Item2); } } } } catch (Exception ex) { Global.Logger.AddItem(new LogItem(ex)); } }
private void QLogic(HitChance hitChance) { try { var ts = Targets.FirstOrDefault( t => Q.CanCast(t) && (GetPoisonBuffEndTime(t) < Q.Delay * 1.2f || (HeroListManager.Check("q-fleeing", t) && BestTargetOnlyManager.Check("q-fleeing", Q, t) && !t.IsFacing(Player) && t.IsMoving && t.Distance(Player) > 150))); if (ts != null) { _lastQPoisonDelay = Game.Time + Q.Delay; _lastQPoisonT = ts; Casting.SkillShot(ts, Q, hitChance); } } catch (Exception ex) { Global.Logger.AddItem(new LogItem(ex)); } }
protected override void AddToMenu() { _ultimate.AddToMenu(Menu); var comboMenu = Menu.AddSubMenu(new Menu("Combo", Menu.Name + ".combo")); ResourceManager.AddToMenu( comboMenu, new ResourceManagerArgs( "combo-e", ResourceType.Health, ResourceValueType.Percent, ResourceCheckType.Minimum) { Prefix = "E", DefaultValue = 0 }); comboMenu.AddItem(new MenuItem(comboMenu.Name + ".q", "Use Q").SetValue(true)); comboMenu.AddItem(new MenuItem(comboMenu.Name + ".e", "Use E").SetValue(true)); var harassMenu = Menu.AddSubMenu(new Menu("Harass", Menu.Name + ".harass")); ResourceManager.AddToMenu( harassMenu, new ResourceManagerArgs( "harass-e", ResourceType.Health, ResourceValueType.Percent, ResourceCheckType.Minimum) { Prefix = "E", DefaultValue = 30 }); harassMenu.AddItem(new MenuItem(harassMenu.Name + ".q", "Use Q").SetValue(true)); harassMenu.AddItem(new MenuItem(harassMenu.Name + ".e", "Use E").SetValue(true)); var laneclearMenu = Menu.AddSubMenu(new Menu("Lane Clear", Menu.Name + ".lane-clear")); ResourceManager.AddToMenu( laneclearMenu, new ResourceManagerArgs( "lane-clear-e", ResourceType.Health, ResourceValueType.Percent, ResourceCheckType.Minimum) { Prefix = "E", DefaultValue = 45 }); laneclearMenu.AddItem(new MenuItem(laneclearMenu.Name + ".q", "Use Q").SetValue(true)); laneclearMenu.AddItem(new MenuItem(laneclearMenu.Name + ".e", "Use E").SetValue(true)); laneclearMenu.AddItem(new MenuItem(laneclearMenu.Name + ".e-min", "E Min.").SetValue(new Slider(3, 1, 5))); var lasthitMenu = Menu.AddSubMenu(new Menu("Last Hit", Menu.Name + ".lasthit")); lasthitMenu.AddItem(new MenuItem(lasthitMenu.Name + ".q", "Use Q").SetValue(true)); lasthitMenu.AddItem(new MenuItem(lasthitMenu.Name + ".q-unkillable", "Q Unkillable").SetValue(true)); var fleeMenu = Menu.AddSubMenu(new Menu("Flee", Menu.Name + ".flee")); fleeMenu.AddItem(new MenuItem(fleeMenu.Name + ".q", "Use Q").SetValue(true)); var killstealMenu = Menu.AddSubMenu(new Menu("Killsteal", Menu.Name + ".killsteal")); killstealMenu.AddItem(new MenuItem(killstealMenu.Name + ".q", "Use Q").SetValue(true)); var miscMenu = Menu.AddSubMenu(new Menu("Misc", Menu.Name + ".miscellaneous")); var wGapcloserMenu = miscMenu.AddSubMenu(new Menu("W Gapcloser", miscMenu.Name + "w-gapcloser")); GapcloserManager.AddToMenu( wGapcloserMenu, new HeroListManagerArgs("w-gapcloser") { IsWhitelist = false, Allies = false, Enemies = true, DefaultValue = false, Enabled = false }, true); BestTargetOnlyManager.AddToMenu(wGapcloserMenu, "w-gapcloser"); ResourceManager.AddToMenu( miscMenu, new ResourceManagerArgs( "auto-e", ResourceType.Health, ResourceValueType.Percent, ResourceCheckType.Minimum) { Prefix = "E", DefaultValue = 65 }); miscMenu.AddItem(new MenuItem(miscMenu.Name + ".e-auto", "Auto E Stacking").SetValue(false)); IndicatorManager.AddToMenu(DrawingManager.Menu, true); IndicatorManager.Add(Q); IndicatorManager.Add(E); IndicatorManager.Add(R); IndicatorManager.Finale(); _eStacks = DrawingManager.Add("E Stacks", true); }
/// <summary> /// Menu /// </summary> protected override void AddToMenu() { _ultimateManager.AddToMenu(Menu); #region Combo Menu var comboMenu = Menu.AddSubMenu(new Menu("Combo", string.Format("{0}.combo", Menu.Name))); comboMenu.AddItem(new MenuItem(string.Format("{0}.q", comboMenu.Name), "Use Q").SetValue(true)); comboMenu.AddItem(new MenuItem(string.Format("{0}.q-range", comboMenu.Name), "Q Min. Distance").SetValue(new Slider(570, 525, 590))); comboMenu.AddItem(new MenuItem(string.Format("{0}.q-aoe", comboMenu.Name), "Q AoE").SetValue(new Slider(2, 1, 5))); comboMenu.AddItem(new MenuItem(string.Format("{0}.w", comboMenu.Name), "Use W").SetValue(true)); comboMenu.AddItem(new MenuItem(string.Format("{0}.e", comboMenu.Name), "Use E").SetValue(true)); var comboHitChanceMenu = comboMenu.AddSubMenu(new Menu("Hitchance", string.Format("{0}.hitchance", comboMenu.Name))); var comboHitChanceDictionary = new Dictionary <string, HitChance> { { "W", HitChance.VeryHigh }, { "E", HitChance.VeryHigh }, { "R", HitChance.VeryHigh } }; HitchanceManager.AddToMenu(comboHitChanceMenu, "combo", comboHitChanceDictionary); ResourceManager.AddToMenu(comboMenu, new ResourceManagerArgs("combo-q", ResourceType.Mana, ResourceValueType.Percent, ResourceCheckType.Minimum) { Prefix = "Q", DefaultValue = 5 }); ResourceManager.AddToMenu(comboMenu, new ResourceManagerArgs("combo-w", ResourceType.Mana, ResourceValueType.Percent, ResourceCheckType.Minimum) { Prefix = "W", DefaultValue = 15 }); #endregion #region Harass Menu var harassMenu = Menu.AddSubMenu(new Menu("Harass", string.Format("{0}.harass", Menu.Name))); harassMenu.AddItem(new MenuItem(string.Format("{0}.q", harassMenu.Name), "Use Q").SetValue(true)); harassMenu.AddItem(new MenuItem(string.Format("{0}.q-range", harassMenu.Name), "Q Min. Distance").SetValue(new Slider(570, 525, 590))); harassMenu.AddItem(new MenuItem(string.Format("{0}.q-aoe", harassMenu.Name), "Q AoE").SetValue(new Slider(2, 1, 5))); harassMenu.AddItem(new MenuItem(string.Format("{0}.w", harassMenu.Name), "Use W").SetValue(true)); var harassHitChanceMenu = harassMenu.AddSubMenu(new Menu("Hitchance", string.Format("{0}.hitchance", harassMenu.Name))); var harassHitChanceDictionary = new Dictionary <string, HitChance> { { "W", HitChance.High } }; HitchanceManager.AddToMenu(harassHitChanceMenu, "harass", harassHitChanceDictionary); ResourceManager.AddToMenu(harassMenu, new ResourceManagerArgs("harass-q", ResourceType.Mana, ResourceValueType.Percent, ResourceCheckType.Minimum) { Prefix = "Q", DefaultValue = 15 }); ResourceManager.AddToMenu(harassMenu, new ResourceManagerArgs("harass-w", ResourceType.Mana, ResourceValueType.Percent, ResourceCheckType.Minimum) { Prefix = "W", DefaultValue = 15 }); #endregion #region Lane Clear Menu var laneclearMenu = Menu.AddSubMenu(new Menu("Lane Clear", string.Format("{0}.lane-clear", Menu.Name))); laneclearMenu.AddItem(new MenuItem(string.Format("{0}.q", laneclearMenu.Name), "Use Q").SetValue(true)); laneclearMenu.AddItem(new MenuItem(string.Format("{0}.q-min", laneclearMenu.Name), "Q Min.").SetValue(new Slider(3, 1, 5))); ResourceManager.AddToMenu(laneclearMenu, new ResourceManagerArgs("lane-clear-q", ResourceType.Mana, ResourceValueType.Percent, ResourceCheckType.Minimum) { Prefix = "Q", Advanced = true, MaxValue = 101, LevelRanges = new SortedList <int, int> { { 1, 6 }, { 6, 12 }, { 12, 18 } }, DefaultValues = new List <int> { 30, 30, 30 } }); #endregion #region Flee Menu var fleeMenu = Menu.AddSubMenu(new Menu("Flee", string.Format("{0}.flee", Menu.Name))); fleeMenu.AddItem(new MenuItem(string.Format("{0}.e", fleeMenu.Name), "Use E").SetValue(true)); #endregion #region Misc Menu // Misc menu var miscMenu = Menu.AddSubMenu(new Menu("Misc", string.Format("{0}.miscellaneous", Menu.Name))); // Gapcloser menu var eGapcloserMenu = miscMenu.AddSubMenu(new Menu("E Gapcloser", string.Format("{0}.e-gapcloser", miscMenu.Name))); GapcloserManager.AddToMenu(eGapcloserMenu, new HeroListManagerArgs("e-gapcloser") { IsWhitelist = false, Allies = false, Enemies = true, DefaultValue = false, Enabled = false }, true); BestTargetOnlyManager.AddToMenu(eGapcloserMenu, "e-gapcloser"); // Immobile menu var eImmobileMenu = miscMenu.AddSubMenu(new Menu("E Immobile", string.Format("{0}.e-immobile", miscMenu.Name))); HeroListManager.AddToMenu(eImmobileMenu, new HeroListManagerArgs("e-immobile") { IsWhitelist = false, Allies = false, Enemies = true, DefaultValue = false }); BestTargetOnlyManager.AddToMenu(eImmobileMenu, "e-immobile", true); #endregion // Indicator manager IndicatorManager.AddToMenu(DrawingManager.Menu, true); IndicatorManager.Add(W); IndicatorManager.Add(R); IndicatorManager.Finale(); }
protected override void AddToMenu() { var ultimateMenu = Ultimate.AddToMenu(Menu); ultimateMenu.AddItem( new MenuItem(ultimateMenu.Name + ".range", "Range").SetValue(new Slider((int)R.Range, 500, 1200))) .ValueChanged += delegate(object sender, OnValueChangeEventArgs args) { R.Range = args.GetNewValue <Slider>().Value; }; R.Range = Menu.Item(ultimateMenu.Name + ".range").GetValue <Slider>().Value; ultimateMenu.AddItem( new MenuItem(ultimateMenu.Name + ".radius", "Spread Radius").SetValue(new Slider(450, 100, 600))) .ValueChanged += delegate(object sender, OnValueChangeEventArgs args) { _rSpreadRadius = args.GetNewValue <Slider>().Value; }; _rSpreadRadius = Menu.Item(Menu.Name + ".ultimate.radius").GetValue <Slider>().Value; var comboMenu = Menu.AddSubMenu(new Menu("Combo", Menu.Name + ".combo")); HitchanceManager.AddToMenu( comboMenu.AddSubMenu(new Menu("Hitchance", comboMenu.Name + ".hitchance")), "combo", new Dictionary <string, HitChance> { { "Q", HitChance.VeryHigh }, { "E", HitChance.High }, { "R", HitChance.VeryHigh } }); var comboQMenu = comboMenu.AddSubMenu(new Menu("Q Settings", comboMenu.Name + ".q-settings")); comboQMenu.AddItem(new MenuItem(comboQMenu.Name + ".always", "Cast Always").SetValue(true)); comboQMenu.AddItem( new MenuItem(comboQMenu.Name + ".fast-cast-min", "Fast Cast Health <= %").SetValue(new Slider(20))); comboQMenu.AddItem(new MenuItem(comboQMenu.Name + ".separator", string.Empty)); comboQMenu.AddItem(new MenuItem(comboQMenu.Name + ".stacks", "Min. Stacks")).SetValue(new Slider(3, 1, 3)); comboQMenu.AddItem(new MenuItem(comboQMenu.Name + ".or", "OR")); comboQMenu.AddItem(new MenuItem(comboQMenu.Name + ".min", "Min. Hits").SetValue(new Slider(2, 1, 5))); var comboEMenu = comboMenu.AddSubMenu(new Menu("E Settings", comboMenu.Name + ".e-settings")); comboEMenu.AddItem(new MenuItem(comboEMenu.Name + ".always", "Cast Always").SetValue(false)); comboEMenu.AddItem(new MenuItem(comboEMenu.Name + ".separator", string.Empty)); comboEMenu.AddItem(new MenuItem(comboEMenu.Name + ".stacks", "Min. Stacks")).SetValue(new Slider(3, 1, 3)); comboEMenu.AddItem(new MenuItem(comboEMenu.Name + ".or", "OR")); comboEMenu.AddItem(new MenuItem(comboEMenu.Name + ".min", "Min. Hits").SetValue(new Slider(3, 1, 5))); comboMenu.AddItem(new MenuItem(comboMenu.Name + ".q", "Use Q").SetValue(true)); comboMenu.AddItem(new MenuItem(comboMenu.Name + ".e", "Use E").SetValue(true)); var harassMenu = Menu.AddSubMenu(new Menu("Harass", Menu.Name + ".harass")); HitchanceManager.AddToMenu( harassMenu.AddSubMenu(new Menu("Hitchance", harassMenu.Name + ".hitchance")), "harass", new Dictionary <string, HitChance> { { "Q", HitChance.High }, { "E", HitChance.High } }); ResourceManager.AddToMenu( harassMenu, new ResourceManagerArgs( "harass", ResourceType.Mana, ResourceValueType.Percent, ResourceCheckType.Minimum) { DefaultValue = 30 }); var harassQMenu = harassMenu.AddSubMenu(new Menu("Q Settings", harassMenu.Name + ".q-settings")); harassQMenu.AddItem(new MenuItem(harassQMenu.Name + ".always", "Cast Always").SetValue(true)); harassQMenu.AddItem( new MenuItem(harassQMenu.Name + ".fast-cast-min", "Fast Cast Health <= %").SetValue(new Slider(25))); harassQMenu.AddItem(new MenuItem(harassQMenu.Name + ".separator", string.Empty)); harassQMenu.AddItem(new MenuItem(harassQMenu.Name + ".stacks", "Min. Stacks")).SetValue(new Slider(3, 1, 3)); harassQMenu.AddItem(new MenuItem(harassQMenu.Name + ".or", "OR")); harassQMenu.AddItem(new MenuItem(harassQMenu.Name + ".min", "Min. Hits").SetValue(new Slider(2, 1, 5))); var harassEMenu = harassMenu.AddSubMenu(new Menu("E Settings", harassMenu.Name + ".e-settings")); harassEMenu.AddItem(new MenuItem(harassEMenu.Name + ".always", "Cast Always").SetValue(true)); harassEMenu.AddItem(new MenuItem(harassEMenu.Name + ".separator", string.Empty)); harassEMenu.AddItem(new MenuItem(harassEMenu.Name + ".stacks", "Min. Stacks")).SetValue(new Slider(2, 1, 3)); harassEMenu.AddItem(new MenuItem(harassEMenu.Name + ".or", "OR")); harassEMenu.AddItem(new MenuItem(harassEMenu.Name + ".min", "Min. Hits").SetValue(new Slider(3, 1, 5))); harassMenu.AddItem(new MenuItem(harassMenu.Name + ".q", "Use Q").SetValue(true)); harassMenu.AddItem(new MenuItem(harassMenu.Name + ".e", "Use E").SetValue(true)); var laneClearMenu = Menu.AddSubMenu(new Menu("Lane Clear", Menu.Name + ".lane-clear")); ResourceManager.AddToMenu( laneClearMenu, new ResourceManagerArgs( "lane-clear-q", ResourceType.Mana, ResourceValueType.Percent, ResourceCheckType.Minimum) { Prefix = "Q", Advanced = true, LevelRanges = new SortedList <int, int> { { 1, 6 }, { 6, 12 }, { 12, 18 } }, DefaultValues = new List <int> { 50, 30, 30 } }); ResourceManager.AddToMenu( laneClearMenu, new ResourceManagerArgs( "lane-clear-e", ResourceType.Mana, ResourceValueType.Percent, ResourceCheckType.Minimum) { Prefix = "E", Advanced = true, LevelRanges = new SortedList <int, int> { { 1, 6 }, { 6, 12 }, { 12, 18 } }, DefaultValues = new List <int> { 50, 30, 30 } }); laneClearMenu.AddItem(new MenuItem(laneClearMenu.Name + ".q", "Use Q").SetValue(true)); laneClearMenu.AddItem(new MenuItem(laneClearMenu.Name + ".e", "Use E").SetValue(true)); laneClearMenu.AddItem(new MenuItem(laneClearMenu.Name + ".min", "Min. Hits").SetValue(new Slider(3, 1, 5))); var jungleClearMenu = Menu.AddSubMenu(new Menu("Jungle Clear", Menu.Name + ".jungle-clear")); ResourceManager.AddToMenu( jungleClearMenu, new ResourceManagerArgs( "jungle-clear-q", ResourceType.Mana, ResourceValueType.Percent, ResourceCheckType.Minimum) { Prefix = "Q", Advanced = true, LevelRanges = new SortedList <int, int> { { 1, 6 }, { 6, 12 }, { 12, 18 } }, DefaultValues = new List <int> { 30, 10, 10 } }); ResourceManager.AddToMenu( jungleClearMenu, new ResourceManagerArgs( "jungle-clear-e", ResourceType.Mana, ResourceValueType.Percent, ResourceCheckType.Minimum) { Prefix = "E", Advanced = true, LevelRanges = new SortedList <int, int> { { 1, 6 }, { 6, 12 }, { 12, 18 } }, DefaultValues = new List <int> { 30, 10, 10 } }); jungleClearMenu.AddItem(new MenuItem(jungleClearMenu.Name + ".q", "Use Q").SetValue(true)); jungleClearMenu.AddItem(new MenuItem(jungleClearMenu.Name + ".e", "Use E").SetValue(true)); var fleeMenu = Menu.AddSubMenu(new Menu("Flee", Menu.Name + ".flee")); fleeMenu.AddItem(new MenuItem(fleeMenu.Name + ".e", "Use E").SetValue(true)); var killstealMenu = Menu.AddSubMenu(new Menu("Killsteal", Menu.Name + ".killsteal")); killstealMenu.AddItem(new MenuItem(killstealMenu.Name + ".q", "Use Q").SetValue(true)); var miscMenu = Menu.AddSubMenu(new Menu("Misc", Menu.Name + ".miscellaneous")); var eGapcloserMenu = miscMenu.AddSubMenu(new Menu("E Gapcloser", miscMenu.Name + "e-gapcloser")); GapcloserManager.AddToMenu( eGapcloserMenu, new HeroListManagerArgs("e-gapcloser") { IsWhitelist = false, Allies = false, Enemies = true, DefaultValue = false }, true); BestTargetOnlyManager.AddToMenu(eGapcloserMenu, "e-gapcloser"); TargetSelector.Weights.Register( new TargetSelector.Weights.Item( "w-stacks", "W Stacks", 5, false, t => GetWStacks(t), "High amount of W Stacks = Higher Weight")); IndicatorManager.AddToMenu(DrawingManager.Menu, true); IndicatorManager.Add("Q", hero => Q.IsReady() ? Q.GetDamage(hero, 1) : 0); IndicatorManager.Add(E); IndicatorManager.Add(R); IndicatorManager.Finale(); _wStacks = DrawingManager.Add("W Stacks", true); }
protected override void AddToMenu() { var comboMenu = Menu.AddSubMenu(new Menu("Combo", Menu.Name + ".combo")); HitchanceManager.AddToMenu( comboMenu.AddSubMenu(new Menu("Hitchance", comboMenu.Name + ".hitchance")), "combo", new Dictionary <string, HitChance> { { "Q", HitChance.High } }); comboMenu.AddItem( new MenuItem(comboMenu.Name + ".gold-percent", "Pick Gold Health <= %").SetValue(new Slider(20, 5, 75))); comboMenu.AddItem( new MenuItem(comboMenu.Name + ".red-min", "Pick Red Targets >=").SetValue(new Slider(3, 1, 5))); comboMenu.AddItem(new MenuItem(comboMenu.Name + ".q", "Use Q").SetValue(true)); comboMenu.AddItem(new MenuItem(comboMenu.Name + ".w", "Use W").SetValue(true)); var harassMenu = Menu.AddSubMenu(new Menu("Harass", Menu.Name + ".harass")); HitchanceManager.AddToMenu( harassMenu.AddSubMenu(new Menu("Hitchance", harassMenu.Name + ".hitchance")), "harass", new Dictionary <string, HitChance> { { "Q", HitChance.High } }); ResourceManager.AddToMenu( harassMenu, new ResourceManagerArgs( "harass", ResourceType.Mana, ResourceValueType.Percent, ResourceCheckType.Minimum) { DefaultValue = 30 }); ResourceManager.AddToMenu( harassMenu, new ResourceManagerArgs( "harass-blue", ResourceType.Mana, ResourceValueType.Percent, ResourceCheckType.Minimum) { Prefix = "W Blue", DefaultValue = 50 }); harassMenu.AddItem( new MenuItem(harassMenu.Name + ".w-card", "Pick Card").SetValue( new StringList(new[] { "Auto", "Gold", "Red", "Blue" }, 3))); harassMenu.AddItem(new MenuItem(harassMenu.Name + ".q", "Use Q").SetValue(true)); harassMenu.AddItem(new MenuItem(harassMenu.Name + ".w", "Use W").SetValue(true)); var laneclearMenu = Menu.AddSubMenu(new Menu("Lane Clear", Menu.Name + ".lane-clear")); ResourceManager.AddToMenu( laneclearMenu, new ResourceManagerArgs( "lane-clear", ResourceType.Mana, ResourceValueType.Percent, ResourceCheckType.Minimum) { Advanced = true, LevelRanges = new SortedList <int, int> { { 1, 6 }, { 6, 12 }, { 12, 18 } }, DefaultValues = new List <int> { 50, 50, 50 }, IgnoreJungleOption = true }); ResourceManager.AddToMenu( laneclearMenu, new ResourceManagerArgs( "lane-clear-blue", ResourceType.Mana, ResourceValueType.Percent, ResourceCheckType.Minimum) { Prefix = "Blue", Advanced = true, LevelRanges = new SortedList <int, int> { { 1, 6 }, { 6, 12 }, { 12, 18 } }, DefaultValues = new List <int> { 60, 60, 60 }, IgnoreJungleOption = true }); laneclearMenu.AddItem(new MenuItem(laneclearMenu.Name + ".q-min", "Q Min.").SetValue(new Slider(4, 1, 5))); laneclearMenu.AddItem(new MenuItem(laneclearMenu.Name + ".q", "Use Q").SetValue(true)); laneclearMenu.AddItem(new MenuItem(laneclearMenu.Name + ".w", "Use W").SetValue(true)); var fleeMenu = Menu.AddSubMenu(new Menu("Flee", Menu.Name + ".flee")); fleeMenu.AddItem(new MenuItem(fleeMenu.Name + ".w", "Use Gold Card").SetValue(true)); var miscMenu = Menu.AddSubMenu(new Menu("Misc", Menu.Name + ".miscellaneous")); var qImmobileMenu = miscMenu.AddSubMenu(new Menu("Q Immobile", miscMenu.Name + "q-immobile")); BuffManager.AddToMenu( qImmobileMenu, BuffManager.ImmobileBuffs, new HeroListManagerArgs("q-immobile") { IsWhitelist = false, Allies = false, Enemies = true, DefaultValue = false }, false); BestTargetOnlyManager.AddToMenu(qImmobileMenu, "q-immobile"); miscMenu.AddItem( new MenuItem(miscMenu.Name + ".q-range", "Q Range").SetValue( new Slider((int)Q.Range, 500, (int)Q.Range))).ValueChanged += delegate(object sender, OnValueChangeEventArgs args) { Q.Range = args.GetNewValue <Slider>().Value; }; miscMenu.AddItem( new MenuItem(miscMenu.Name + ".w-range", "Card Pick Distance").SetValue( new Slider((int)W.Range, 500, 800))).ValueChanged += delegate(object sender, OnValueChangeEventArgs args) { W.Range = args.GetNewValue <Slider>().Value; }; miscMenu.AddItem( new MenuItem(miscMenu.Name + ".w-delay", "Card Pick Delay").SetValue(new Slider(150, 0, 400))) .ValueChanged += delegate(object sender, OnValueChangeEventArgs args) { Cards.Delay = args.GetNewValue <Slider>().Value; }; miscMenu.AddItem( new MenuItem(miscMenu.Name + ".mode", "W Mode").SetValue(new StringList(new[] { "Burst", "Team" }))); miscMenu.AddItem(new MenuItem(miscMenu.Name + ".r-card", "Pick Card on R").SetValue(true)); var manualMenu = Menu.AddSubMenu(new Menu("Manual", Menu.Name + ".manual")); manualMenu.AddItem( new MenuItem(manualMenu.Name + ".blue", "Hotkey Blue").SetValue(new KeyBind('T', KeyBindType.Press))); manualMenu.AddItem( new MenuItem(manualMenu.Name + ".red", "Hotkey Red").SetValue(new KeyBind('Y', KeyBindType.Press))); manualMenu.AddItem( new MenuItem(manualMenu.Name + ".gold", "Hotkey Gold").SetValue(new KeyBind('U', KeyBindType.Press))); Q.Range = Menu.Item(Menu.Name + ".miscellaneous.q-range").GetValue <Slider>().Value; W.Range = Menu.Item(Menu.Name + ".miscellaneous.w-range").GetValue <Slider>().Value; Cards.Delay = Menu.Item(Menu.Name + ".miscellaneous.w-delay").GetValue <Slider>().Value; IndicatorManager.AddToMenu(DrawingManager.Menu, true); IndicatorManager.Add(Q); IndicatorManager.Add( "W", hero => (W.IsReady() || Cards.Status == SelectStatus.Selecting || Cards.Status == SelectStatus.Ready) && Cards.Status != SelectStatus.Selected ? W.GetDamage(hero) : (Cards.Status == SelectStatus.Selected ? (Cards.Has(CardColor.Blue) ? W.GetDamage(hero) : (Cards.Has(CardColor.Red) ? W.GetDamage(hero, 1) : W.GetDamage(hero, 2))) : 0)); IndicatorManager.Add("E", hero => E.Level > 0 && GetEStacks() >= 2 ? E.GetDamage(hero) : 0); IndicatorManager.Finale(); _eStacks = DrawingManager.Add("E Stacks", true); _rMinimap = DrawingManager.Add("R Minimap", true); }
protected override void AddToMenu() { var comboMenu = Menu.AddSubMenu(new Menu("Combo", Menu.Name + ".combo")); HitchanceManager.AddToMenu( comboMenu.AddSubMenu(new Menu("Hitchance", comboMenu.Name + ".hitchance")), "combo", new Dictionary <string, HitChance> { { "Q", HitChance.VeryHigh } }); comboMenu.AddItem(new MenuItem(comboMenu.Name + ".q", "Use Q").SetValue(true)); comboMenu.AddItem(new MenuItem(comboMenu.Name + ".w", "Use W").SetValue(true)); var harassMenu = Menu.AddSubMenu(new Menu("Harass", Menu.Name + ".harass")); HitchanceManager.AddToMenu( harassMenu.AddSubMenu(new Menu("Hitchance", harassMenu.Name + ".hitchance")), "harass", new Dictionary <string, HitChance> { { "Q", HitChance.High } }); ResourceManager.AddToMenu( harassMenu, new ResourceManagerArgs( "harass", ResourceType.Mana, ResourceValueType.Percent, ResourceCheckType.Minimum) { DefaultValue = 30 }); harassMenu.AddItem(new MenuItem(harassMenu.Name + ".q", "Use Q").SetValue(true)); harassMenu.AddItem(new MenuItem(harassMenu.Name + ".w", "Use W").SetValue(true)); var laneclearMenu = Menu.AddSubMenu(new Menu("Lane Clear", Menu.Name + ".lane-clear")); ResourceManager.AddToMenu( laneclearMenu, new ResourceManagerArgs( "lane-clear-q", ResourceType.Mana, ResourceValueType.Percent, ResourceCheckType.Minimum) { Prefix = "Q", Advanced = true, LevelRanges = new SortedList <int, int> { { 1, 6 }, { 6, 12 }, { 12, 18 } }, DefaultValues = new List <int> { 60, 50, 50 }, IgnoreJungleOption = true }); ResourceManager.AddToMenu( laneclearMenu, new ResourceManagerArgs( "lane-clear-w", ResourceType.Mana, ResourceValueType.Percent, ResourceCheckType.Minimum) { Prefix = "W", Advanced = true, LevelRanges = new SortedList <int, int> { { 1, 6 }, { 6, 12 }, { 12, 18 } }, DefaultValues = new List <int> { 50, 40, 40 }, IgnoreJungleOption = true }); laneclearMenu.AddItem(new MenuItem(laneclearMenu.Name + ".q", "Use Q").SetValue(true)); laneclearMenu.AddItem(new MenuItem(laneclearMenu.Name + ".q-min", "Q Min.").SetValue(new Slider(4, 1, 5))); laneclearMenu.AddItem(new MenuItem(laneclearMenu.Name + ".w", "Use W").SetValue(true)); laneclearMenu.AddItem(new MenuItem(laneclearMenu.Name + ".w-min", "W Min.").SetValue(new Slider(3, 1, 5))); var fleeMenu = Menu.AddSubMenu(new Menu("Flee", Menu.Name + ".flee")); fleeMenu.AddItem(new MenuItem(fleeMenu.Name + ".r", "Use R").SetValue(false)); var shieldMenu = Menu.AddSubMenu(new Menu("Shield", Menu.Name + ".shield")); SpellBlockManager.AddToMenu( shieldMenu.AddSubMenu(new Menu("Whitelist", shieldMenu.Name + ".whitelist")), false, true, false); shieldMenu.AddItem(new MenuItem(shieldMenu.Name + ".enabled", "Enabled").SetValue(true)); var miscMenu = Menu.AddSubMenu(new Menu("Misc", Menu.Name + ".miscellaneous")); var qImmobileMenu = miscMenu.AddSubMenu(new Menu("Q Immobile", miscMenu.Name + "q-immobile")); BuffManager.AddToMenu( qImmobileMenu, BuffManager.ImmobileBuffs, new HeroListManagerArgs("q-immobile") { IsWhitelist = false, Allies = false, Enemies = true, DefaultValue = false }, true); BestTargetOnlyManager.AddToMenu(qImmobileMenu, "q-immobile"); IndicatorManager.AddToMenu(DrawingManager.Menu, true); IndicatorManager.Add(Q); IndicatorManager.Add(W); IndicatorManager.Finale(); }
protected override void AddToMenu() { Ultimate.AddToMenu(Menu); var comboMenu = Menu.AddSubMenu(new Menu("Combo", Menu.Name + ".combo")); HitchanceManager.AddToMenu( comboMenu.AddSubMenu(new Menu("Hitchance", comboMenu.Name + ".hitchance")), "combo", new Dictionary <string, HitChance> { { "Q", HitChance.VeryHigh }, { "W", HitChance.VeryHigh }, { "R", HitChance.High } }); comboMenu.AddItem( new MenuItem(comboMenu.Name + ".e-mode", "E Mode").SetValue(new StringList(new[] { "Auto", "Cursor" }))); comboMenu.AddItem( new MenuItem(comboMenu.Name + ".e-safety", "E Safety Distance").SetValue(new Slider(320, 0, 500))); comboMenu.AddItem(new MenuItem(comboMenu.Name + ".q", "Use Q").SetValue(true)); comboMenu.AddItem(new MenuItem(comboMenu.Name + ".w", "Use W").SetValue(true)); comboMenu.AddItem(new MenuItem(comboMenu.Name + ".e", "Use E").SetValue(true)); var harassMenu = Menu.AddSubMenu(new Menu("Harass", Menu.Name + ".harass")); HitchanceManager.AddToMenu( harassMenu.AddSubMenu(new Menu("Hitchance", harassMenu.Name + ".hitchance")), "harass", new Dictionary <string, HitChance> { { "Q", HitChance.High } }); ResourceManager.AddToMenu( harassMenu, new ResourceManagerArgs( "harass", ResourceType.Mana, ResourceValueType.Percent, ResourceCheckType.Minimum) { DefaultValue = 30 }); harassMenu.AddItem(new MenuItem(harassMenu.Name + ".q", "Use Q").SetValue(true)); var laneClearMenu = Menu.AddSubMenu(new Menu("Lane Clear", Menu.Name + ".lane-clear")); ResourceManager.AddToMenu( laneClearMenu, new ResourceManagerArgs( "lane-clear", ResourceType.Mana, ResourceValueType.Percent, ResourceCheckType.Minimum) { Advanced = true, LevelRanges = new SortedList <int, int> { { 1, 6 }, { 6, 12 }, { 12, 18 } }, DefaultValues = new List <int> { 50, 30, 30 } }); laneClearMenu.AddItem(new MenuItem(laneClearMenu.Name + ".q", "Use Q").SetValue(true)); laneClearMenu.AddItem(new MenuItem(laneClearMenu.Name + ".q-min", "Q Min.").SetValue(new Slider(3, 1, 5))); var jungleClearMenu = Menu.AddSubMenu(new Menu("Jungle Clear", Menu.Name + ".jungle-clear")); ResourceManager.AddToMenu( jungleClearMenu, new ResourceManagerArgs( "jungle-clear", ResourceType.Mana, ResourceValueType.Percent, ResourceCheckType.Minimum) { Advanced = true, LevelRanges = new SortedList <int, int> { { 1, 6 }, { 6, 12 }, { 12, 18 } }, DefaultValues = new List <int> { 30, 10, 10 } }); jungleClearMenu.AddItem(new MenuItem(jungleClearMenu.Name + ".q", "Use Q").SetValue(true)); var fleeMenu = Menu.AddSubMenu(new Menu("Flee", Menu.Name + ".flee")); fleeMenu.AddItem(new MenuItem(fleeMenu.Name + ".e", "Use E").SetValue(true)); var killstealMenu = Menu.AddSubMenu(new Menu("Killsteal", Menu.Name + ".killsteal")); killstealMenu.AddItem(new MenuItem(killstealMenu.Name + ".q", "Use Q").SetValue(true)); var miscMenu = Menu.AddSubMenu(new Menu("Misc", Menu.Name + ".miscellaneous")); var wGapcloserMenu = miscMenu.AddSubMenu(new Menu("W Gapcloser", miscMenu.Name + "w-gapcloser")); GapcloserManager.AddToMenu( wGapcloserMenu, new HeroListManagerArgs("w-gapcloser") { IsWhitelist = false, Allies = false, Enemies = true, DefaultValue = false, Enabled = false }, true); BestTargetOnlyManager.AddToMenu(wGapcloserMenu, "w-gapcloser"); var eGapcloserMenu = miscMenu.AddSubMenu(new Menu("E Gapcloser", miscMenu.Name + "e-gapcloser")); GapcloserManager.AddToMenu( eGapcloserMenu, new HeroListManagerArgs("e-gapcloser") { IsWhitelist = false, Allies = false, Enemies = true, DefaultValue = false }, true); BestTargetOnlyManager.AddToMenu(eGapcloserMenu, "e-gapcloser"); IndicatorManager.AddToMenu(DrawingManager.Menu, true); IndicatorManager.Add(Q); IndicatorManager.Add(W); IndicatorManager.Add(R); IndicatorManager.Finale(); }
protected override void AddToMenu() { var ultimateMenu = Ultimate.AddToMenu(Menu); ultimateMenu.AddItem( new MenuItem(ultimateMenu.Name + ".range", "Range").SetValue(new Slider((int)R.Range, 1000, 3000))) .ValueChanged += delegate(object sender, OnValueChangeEventArgs args) { R.Range = args.GetNewValue <Slider>().Value; }; R.Range = Menu.Item(ultimateMenu.Name + ".range").GetValue <Slider>().Value; var comboMenu = Menu.AddSubMenu(new Menu("Combo", Menu.Name + ".combo")); HitchanceManager.AddToMenu( comboMenu.AddSubMenu(new Menu("Hitchance", comboMenu.Name + ".hitchance")), "combo", new Dictionary <string, HitChance> { { "Q", HitChance.High }, { "W", HitChance.VeryHigh }, { "R", HitChance.High } }); comboMenu.AddItem( new MenuItem(comboMenu.Name + ".e-mode", "E Mode").SetValue(new StringList(new[] { "Auto", "Cursor" }))); comboMenu.AddItem( new MenuItem(comboMenu.Name + ".e-safety", "E Safety Distance").SetValue(new Slider(300, 0, 500))); comboMenu.AddItem(new MenuItem(comboMenu.Name + ".q", "Use Q").SetValue(true)); comboMenu.AddItem(new MenuItem(comboMenu.Name + ".w", "Use W").SetValue(true)); comboMenu.AddItem(new MenuItem(comboMenu.Name + ".e", "Use E").SetValue(true)); var harassMenu = Menu.AddSubMenu(new Menu("Harass", Menu.Name + ".harass")); HitchanceManager.AddToMenu( harassMenu.AddSubMenu(new Menu("Hitchance", harassMenu.Name + ".hitchance")), "harass", new Dictionary <string, HitChance> { { "Q", HitChance.High }, { "W", HitChance.VeryHigh } }); ResourceManager.AddToMenu( harassMenu, new ResourceManagerArgs( "harass", ResourceType.Mana, ResourceValueType.Percent, ResourceCheckType.Minimum) { DefaultValue = 30 }); harassMenu.AddItem(new MenuItem(harassMenu.Name + ".q", "Use Q").SetValue(true)); harassMenu.AddItem(new MenuItem(harassMenu.Name + ".w", "Use W").SetValue(false)); var laneClearMenu = Menu.AddSubMenu(new Menu("Lane Clear", Menu.Name + ".lane-clear")); ResourceManager.AddToMenu( laneClearMenu, new ResourceManagerArgs( "lane-clear", ResourceType.Mana, ResourceValueType.Percent, ResourceCheckType.Minimum) { Advanced = true, LevelRanges = new SortedList <int, int> { { 1, 6 }, { 6, 12 }, { 12, 18 } }, DefaultValues = new List <int> { 50, 30, 30 } }); laneClearMenu.AddItem(new MenuItem(laneClearMenu.Name + ".q", "Use Q").SetValue(true)); var jungleClearMenu = Menu.AddSubMenu(new Menu("Jungle Clear", Menu.Name + ".jungle-clear")); ResourceManager.AddToMenu( jungleClearMenu, new ResourceManagerArgs( "jungle-clear", ResourceType.Mana, ResourceValueType.Percent, ResourceCheckType.Minimum) { Advanced = true, LevelRanges = new SortedList <int, int> { { 1, 6 }, { 6, 12 }, { 12, 18 } }, DefaultValues = new List <int> { 50, 30, 30 } }); jungleClearMenu.AddItem(new MenuItem(jungleClearMenu.Name + ".q", "Use Q").SetValue(true)); var fleeMenu = Menu.AddSubMenu(new Menu("Flee", Menu.Name + ".flee")); fleeMenu.AddItem(new MenuItem(fleeMenu.Name + ".e", "Use E").SetValue(true)); var killstealMenu = Menu.AddSubMenu(new Menu("Killsteal", Menu.Name + ".killsteal")); killstealMenu.AddItem(new MenuItem(killstealMenu.Name + ".q", "Use Q").SetValue(true)); var miscMenu = Menu.AddSubMenu(new Menu("Misc", Menu.Name + ".miscellaneous")); miscMenu.AddItem(new MenuItem(miscMenu.Name + ".w-push", "W Pushing").SetValue(true)); var qGapcloserMenu = miscMenu.AddSubMenu(new Menu("Q Gapcloser", miscMenu.Name + "q-gapcloser")); GapcloserManager.AddToMenu( qGapcloserMenu, new HeroListManagerArgs("q-gapcloser") { IsWhitelist = false, Allies = false, Enemies = true, DefaultValue = false }); BestTargetOnlyManager.AddToMenu(qGapcloserMenu, "q-gapcloser", true); var eGapcloserMenu = miscMenu.AddSubMenu(new Menu("E Gapcloser", miscMenu.Name + "e-gapcloser")); GapcloserManager.AddToMenu( eGapcloserMenu, new HeroListManagerArgs("e-gapcloser") { IsWhitelist = false, Allies = false, Enemies = true, DefaultValue = false }, true); BestTargetOnlyManager.AddToMenu(eGapcloserMenu, "e-gapcloser"); IndicatorManager.AddToMenu(DrawingManager.Menu, true); IndicatorManager.Add(Q); IndicatorManager.Add(W); IndicatorManager.Add("R", hero => R.IsReady() ? R.GetDamage(hero) * 0.8f : 0); IndicatorManager.Finale(); }
protected override void AddToMenu() { var comboMenu = Menu.AddSubMenu(new Menu("Combo", Menu.Name + ".combo")); HitchanceManager.AddToMenu( comboMenu.AddSubMenu(new Menu("Hitchance", comboMenu.Name + ".hitchance")), "combo", new Dictionary <string, HitChance> { { "Q", HitChance.VeryHigh }, { "E", HitChance.VeryHigh }, { "R", HitChance.VeryHigh } }); ResourceManager.AddToMenu( comboMenu, new ResourceManagerArgs( "combo-r", ResourceType.Mana, ResourceValueType.Percent, ResourceCheckType.Minimum) { Prefix = "R", DefaultValue = 30 }); comboMenu.AddItem(new MenuItem(comboMenu.Name + ".q", "Use Q").SetValue(true)); comboMenu.AddItem(new MenuItem(comboMenu.Name + ".w", "Use W").SetValue(true)); comboMenu.AddItem(new MenuItem(comboMenu.Name + ".e", "Use E").SetValue(true)); comboMenu.AddItem(new MenuItem(comboMenu.Name + ".r", "Use R").SetValue(true)); var harassMenu = Menu.AddSubMenu(new Menu("Harass", Menu.Name + ".harass")); HitchanceManager.AddToMenu( harassMenu.AddSubMenu(new Menu("Hitchance", harassMenu.Name + ".hitchance")), "harass", new Dictionary <string, HitChance> { { "Q", HitChance.High }, { "R", HitChance.VeryHigh } }); ResourceManager.AddToMenu( harassMenu, new ResourceManagerArgs( "harass", ResourceType.Mana, ResourceValueType.Percent, ResourceCheckType.Minimum) { DefaultValue = 30 }); ResourceManager.AddToMenu( harassMenu, new ResourceManagerArgs( "harass-r", ResourceType.Mana, ResourceValueType.Percent, ResourceCheckType.Minimum) { Prefix = "R", DefaultValue = 30 }); harassMenu.AddItem(new MenuItem(harassMenu.Name + ".q", "Use Q").SetValue(false)); harassMenu.AddItem(new MenuItem(harassMenu.Name + ".w", "Use W").SetValue(true)); harassMenu.AddItem(new MenuItem(harassMenu.Name + ".r", "Use R").SetValue(true)); var laneclearMenu = Menu.AddSubMenu(new Menu("Lane Clear", Menu.Name + ".lane-clear")); ResourceManager.AddToMenu( laneclearMenu, new ResourceManagerArgs( "lane-clear", ResourceType.Mana, ResourceValueType.Percent, ResourceCheckType.Minimum) { Advanced = true, MaxValue = 101, LevelRanges = new SortedList <int, int> { { 1, 6 }, { 6, 12 }, { 12, 18 } }, DefaultValues = new List <int> { 50, 30, 30 }, IgnoreJungleOption = true }); laneclearMenu.AddItem(new MenuItem(laneclearMenu.Name + ".w", "Use W").SetValue(true)); laneclearMenu.AddItem(new MenuItem(laneclearMenu.Name + ".e", "Use E").SetValue(true)); laneclearMenu.AddItem(new MenuItem(laneclearMenu.Name + ".e-min", "E Min.").SetValue(new Slider(3, 1, 5))); laneclearMenu.AddItem(new MenuItem(laneclearMenu.Name + ".r", "Use R").SetValue(false)); laneclearMenu.AddItem(new MenuItem(laneclearMenu.Name + ".r-min", "R Min.").SetValue(new Slider(3, 1, 5))); var fleeMenu = Menu.AddSubMenu(new Menu("Flee", Menu.Name + ".flee")); fleeMenu.AddItem(new MenuItem(fleeMenu.Name + ".e", "Use E").SetValue(true)); var killstealMenu = Menu.AddSubMenu(new Menu("Killsteal", Menu.Name + ".killsteal")); killstealMenu.AddItem(new MenuItem(killstealMenu.Name + ".r", "Use R").SetValue(true)); var miscMenu = Menu.AddSubMenu(new Menu("Misc", Menu.Name + ".miscellaneous")); var eGapcloserMenu = miscMenu.AddSubMenu(new Menu("E Gapcloser", miscMenu.Name + "e-gapcloser")); GapcloserManager.AddToMenu( eGapcloserMenu, new HeroListManagerArgs("e-gapcloser") { IsWhitelist = false, Allies = false, Enemies = true, DefaultValue = false }, true); BestTargetOnlyManager.AddToMenu(eGapcloserMenu, "e-gapcloser"); var rImmobileMenu = miscMenu.AddSubMenu(new Menu("R Immobile", miscMenu.Name + "r-immobile")); HeroListManager.AddToMenu( rImmobileMenu, new HeroListManagerArgs("r-immobile") { IsWhitelist = false, Allies = false, Enemies = true, DefaultValue = false }); BestTargetOnlyManager.AddToMenu(rImmobileMenu, "r-immobile", true); var rGapcloserMenu = miscMenu.AddSubMenu(new Menu("R Gapcloser", miscMenu.Name + "r-gapcloser")); GapcloserManager.AddToMenu( rGapcloserMenu, new HeroListManagerArgs("r-gapcloser") { IsWhitelist = false, Allies = false, Enemies = true, DefaultValue = false }); BestTargetOnlyManager.AddToMenu(rGapcloserMenu, "r-gapcloser", true); miscMenu.AddItem(new MenuItem(miscMenu.Name + ".r-max", "R Max. Stacks").SetValue(new Slider(5, 1, 10))); IndicatorManager.AddToMenu(DrawingManager.Menu, true); IndicatorManager.Add(Q); IndicatorManager.Add(W); IndicatorManager.Add(E); IndicatorManager.Add(R); IndicatorManager.Finale(); }
protected override void AddToMenu() { DrawingManager.Add("R Flash", R.Range + SummonerManager.Flash.Range); var ultimateMenu = Ultimate.AddToMenu(Menu); ultimateMenu.AddItem( new MenuItem(ultimateMenu.Name + ".range", "Range").SetValue(new Slider(700, 400, 825))).ValueChanged += delegate(object sender, OnValueChangeEventArgs args) { R.Range = args.GetNewValue <Slider>().Value; DrawingManager.Update("R Flash", args.GetNewValue <Slider>().Value + SummonerManager.Flash.Range); }; ultimateMenu.AddItem(new MenuItem(ultimateMenu.Name + ".backwards", "Backwards Flash").SetValue(true)); var comboMenu = Menu.AddSubMenu(new Menu("Combo", Menu.Name + ".combo")); HitchanceManager.AddToMenu( comboMenu.AddSubMenu(new Menu("Hitchance", comboMenu.Name + ".hitchance")), "combo", new Dictionary <string, HitChance> { { "Q", HitChance.High }, { "W", HitChance.High }, { "R", HitChance.High } }); comboMenu.AddItem(new MenuItem(comboMenu.Name + ".aa", "Use AutoAttacks").SetValue(false)); comboMenu.AddItem(new MenuItem(comboMenu.Name + ".q", "Use Q").SetValue(true)); comboMenu.AddItem(new MenuItem(comboMenu.Name + ".w", "Use W").SetValue(true)); comboMenu.AddItem(new MenuItem(comboMenu.Name + ".e", "Use E").SetValue(true)); var harassMenu = Menu.AddSubMenu(new Menu("Harass", Menu.Name + ".harass")); HitchanceManager.AddToMenu( harassMenu.AddSubMenu(new Menu("Hitchance", harassMenu.Name + ".hitchance")), "harass", new Dictionary <string, HitChance> { { "Q", HitChance.VeryHigh }, { "W", HitChance.High } }); ResourceManager.AddToMenu( harassMenu, new ResourceManagerArgs( "harass", ResourceType.Mana, ResourceValueType.Percent, ResourceCheckType.Minimum) { DefaultValue = 30 }); harassMenu.AddItem(new MenuItem(harassMenu.Name + ".aa", "Use AutoAttacks").SetValue(false)); harassMenu.AddItem(new MenuItem(harassMenu.Name + ".q", "Use Q").SetValue(true)); harassMenu.AddItem(new MenuItem(harassMenu.Name + ".w", "Use W").SetValue(true)); harassMenu.AddItem(new MenuItem(harassMenu.Name + ".e", "Use E").SetValue(true)); var laneClearMenu = Menu.AddSubMenu(new Menu("Lane Clear", Menu.Name + ".lane-clear")); ResourceManager.AddToMenu( laneClearMenu, new ResourceManagerArgs( "lane-clear", ResourceType.Mana, ResourceValueType.Percent, ResourceCheckType.Minimum) { Advanced = true, LevelRanges = new SortedList <int, int> { { 1, 6 }, { 6, 12 }, { 12, 18 } }, DefaultValues = new List <int> { 50, 30, 30 } }); laneClearMenu.AddItem(new MenuItem(laneClearMenu.Name + ".aa", "Use AutoAttacks").SetValue(true)); laneClearMenu.AddItem(new MenuItem(laneClearMenu.Name + ".q", "Use Q").SetValue(true)); laneClearMenu.AddItem(new MenuItem(laneClearMenu.Name + ".w", "Use W").SetValue(true)); laneClearMenu.AddItem(new MenuItem(laneClearMenu.Name + ".e", "Use E").SetValue(true)); var jungleClearMenu = Menu.AddSubMenu(new Menu("Jungle Clear", Menu.Name + ".jungle-clear")); ResourceManager.AddToMenu( jungleClearMenu, new ResourceManagerArgs( "jungle-clear", ResourceType.Mana, ResourceValueType.Percent, ResourceCheckType.Minimum) { Advanced = true, LevelRanges = new SortedList <int, int> { { 1, 6 }, { 6, 12 }, { 12, 18 } }, DefaultValues = new List <int> { 30, 10, 10 } }); jungleClearMenu.AddItem(new MenuItem(jungleClearMenu.Name + ".aa", "Use AutoAttacks").SetValue(true)); jungleClearMenu.AddItem(new MenuItem(jungleClearMenu.Name + ".q", "Use Q").SetValue(true)); jungleClearMenu.AddItem(new MenuItem(jungleClearMenu.Name + ".w", "Use W").SetValue(true)); jungleClearMenu.AddItem(new MenuItem(jungleClearMenu.Name + ".e", "Use E").SetValue(true)); var lasthitMenu = Menu.AddSubMenu(new Menu("Last Hit", Menu.Name + ".lasthit")); ResourceManager.AddToMenu( lasthitMenu, new ResourceManagerArgs( "lasthit", ResourceType.Mana, ResourceValueType.Percent, ResourceCheckType.Maximum) { Advanced = true, LevelRanges = new SortedList <int, int> { { 1, 6 }, { 6, 12 }, { 12, 18 } }, DefaultValues = new List <int> { 90, 70, 70 } }); lasthitMenu.AddItem(new MenuItem(lasthitMenu.Name + ".e", "Use E").SetValue(true)); lasthitMenu.AddItem(new MenuItem(lasthitMenu.Name + ".e-poison", "Use E Poison").SetValue(true)); var fleeMenu = Menu.AddSubMenu(new Menu("Flee", Menu.Name + ".flee")); fleeMenu.AddItem(new MenuItem(fleeMenu.Name + ".w", "Use W").SetValue(true)); var killstealMenu = Menu.AddSubMenu(new Menu("Killsteal", Menu.Name + ".killsteal")); killstealMenu.AddItem(new MenuItem(killstealMenu.Name + ".e", "Use E").SetValue(true)); killstealMenu.AddItem(new MenuItem(killstealMenu.Name + ".e-poison", "Use E Poison Only").SetValue(true)); var miscMenu = Menu.AddSubMenu(new Menu("Misc", Menu.Name + ".miscellaneous")); DelayManager.AddToMenu(miscMenu, "e-delay", "E", 420, 0, 1000); var qGapcloserMenu = miscMenu.AddSubMenu(new Menu("Q Gapcloser", miscMenu.Name + "q-gapcloser")); GapcloserManager.AddToMenu( qGapcloserMenu, new HeroListManagerArgs("q-gapcloser") { IsWhitelist = false, Allies = false, Enemies = true, DefaultValue = false }); BestTargetOnlyManager.AddToMenu(qGapcloserMenu, "q-gapcloser", true); var qFleeingMenu = miscMenu.AddSubMenu(new Menu("Q Fleeing", miscMenu.Name + "q-fleeing")); HeroListManager.AddToMenu( qFleeingMenu, new HeroListManagerArgs("q-fleeing") { IsWhitelist = false, Allies = false, Enemies = true, DefaultValue = false }); BestTargetOnlyManager.AddToMenu(qFleeingMenu, "q-fleeing", true); var wGapcloserMenu = miscMenu.AddSubMenu(new Menu("W Gapcloser", miscMenu.Name + "w-gapcloser")); GapcloserManager.AddToMenu( wGapcloserMenu, new HeroListManagerArgs("w-gapcloser") { IsWhitelist = false, Allies = false, Enemies = true, DefaultValue = false }, true); BestTargetOnlyManager.AddToMenu(wGapcloserMenu, "w-gapcloser"); var wImmobileMenu = miscMenu.AddSubMenu(new Menu("W Immobile", miscMenu.Name + "w-immobile")); BuffManager.AddToMenu( wImmobileMenu, BuffManager.ImmobileBuffs, new HeroListManagerArgs("w-immobile") { IsWhitelist = false, Allies = false, Enemies = true, DefaultValue = false }, true); BestTargetOnlyManager.AddToMenu(wImmobileMenu, "w-immobile"); var wFleeingMenu = miscMenu.AddSubMenu(new Menu("W Fleeing", miscMenu.Name + "w-fleeing")); HeroListManager.AddToMenu( wFleeingMenu, new HeroListManagerArgs("w-fleeing") { IsWhitelist = false, Allies = false, Enemies = true, DefaultValue = false }); BestTargetOnlyManager.AddToMenu(wFleeingMenu, "w-fleeing", true); R.Range = Menu.Item(Menu.Name + ".ultimate.range").GetValue <Slider>().Value; DrawingManager.Update( "R Flash", Menu.Item(Menu.Name + ".ultimate.range").GetValue <Slider>().Value + SummonerManager.Flash.Range); IndicatorManager.AddToMenu(DrawingManager.Menu, true); IndicatorManager.Add(Q); IndicatorManager.Add(W); IndicatorManager.Add("E", hero => E.GetDamage(hero) * 3); IndicatorManager.Add(R); IndicatorManager.Finale(); TargetSelector.Weights.Register( new TargetSelector.Weights.Item( "poison-time", "Poison Time", 5, false, GetPoisonBuffEndTime, "Long time until poison ends = Higher Weight")); }
protected override void OnPostUpdate() { if (Ultimate.IsActive(UltimateModeType.Flash) && R.IsReady() && SummonerManager.Flash.IsReady()) { if (Ultimate.ShouldMove(UltimateModeType.Flash)) { Orbwalking.MoveTo(Game.CursorPos, Orbwalker.HoldAreaRadius); } var targets = Targets.Where( t => t.Distance(Player) < (R.Range + R.Width + SummonerManager.Flash.Range) * 1.5f && !t.IsDashing() && (t.IsFacing(Player) ? t.Distance(Player) : R.GetPrediction(t).UnitPosition.Distance(Player.Position)) > R.Range); var backwards = Menu.Item(Menu.Name + ".ultimate.backwards").GetValue <bool>(); foreach (var target in targets) { var flashPos = Player.Position.Extend(target.Position, SummonerManager.Flash.Range); var maxHits = GetMaxRHits(HitChance.High, flashPos); if (maxHits.Item1.Count > 0) { var castPos = backwards ? Player.Position.Extend(maxHits.Item2, -(Player.Position.Distance(maxHits.Item2) * 2)) : Player.Position.Extend(maxHits.Item2, Player.Position.Distance(maxHits.Item2)); if (Ultimate.Check(UltimateModeType.Flash, maxHits.Item1)) { if (R.Cast(castPos)) { Utility.DelayAction.Add(300 + Game.Ping / 2, () => SummonerManager.Flash.Cast(flashPos)); } } else if (Ultimate.ShouldSingle(UltimateModeType.Flash)) { if ( maxHits.Item1.Where(hit => Ultimate.CheckSingle(UltimateModeType.Flash, hit)) .Any(hit => R.Cast(castPos))) { Utility.DelayAction.Add(300 + Game.Ping / 2, () => SummonerManager.Flash.Cast(flashPos)); } } } } } if (Ultimate.IsActive(UltimateModeType.Assisted) && R.IsReady()) { if (Ultimate.ShouldMove(UltimateModeType.Assisted)) { Orbwalking.MoveTo(Game.CursorPos, Orbwalker.HoldAreaRadius); } if (!RLogic(UltimateModeType.Assisted, R.GetHitChance("combo"))) { RLogicSingle(UltimateModeType.Assisted, R.GetHitChance("combo"), false); } } if (Ultimate.IsActive(UltimateModeType.Auto) && R.IsReady()) { if (!RLogic(UltimateModeType.Auto, R.GetHitChance("combo"))) { RLogicSingle(UltimateModeType.Auto, R.GetHitChance("combo")); } } if (HeroListManager.Enabled("w-immobile") && W.IsReady()) { var target = Targets.FirstOrDefault( t => HeroListManager.Check("w-immobile", t) && BestTargetOnlyManager.Check("w-immobile", W, t) && Utils.IsImmobile(t)); if (target != null) { Casting.SkillShot(target, W, HitChance.High); } } }
private void OnEnemyGapcloser(object sender, GapcloserManagerArgs args) { try { if (args.UniqueId.Equals("q-gapcloser") && Q.IsReady() && BestTargetOnlyManager.Check("q-gapcloser", Q, args.Hero)) { if (args.End.Distance(Player.Position) <= Q.Range) { var delay = (int)(args.EndTime - Game.Time - Q.Delay - 0.1f); if (delay > 0) { Utility.DelayAction.Add(delay * 1000, () => Q.Cast(args.End)); } else { Q.Cast(args.End); } } } if (args.UniqueId.Equals("w-gapcloser") && W.IsReady() && BestTargetOnlyManager.Check("w-gapcloser", W, args.Hero)) { if (args.End.Distance(Player.Position) <= W.Range) { var delay = (int)(args.EndTime - Game.Time - W.Delay - 0.1f); if (delay > 0) { Utility.DelayAction.Add(delay * 1000, () => W.Cast(args.End)); } else { W.Cast(args.End); } } } if (string.IsNullOrEmpty(args.UniqueId)) { if (Ultimate.IsActive(UltimateModeType.Gapcloser, args.Hero) && BestTargetOnlyManager.Check("r-gapcloser", R, args.Hero)) { if (args.End.Distance(Player.Position) <= R.Range) { if (args.EndTime - Game.Time > R.Delay) { Utility.DelayAction.Add( (int)((args.EndTime - Game.Time - R.Delay) * 1000), () => R.Cast(args.End)); } else { R.Cast(args.End); } } } } } catch (Exception ex) { Global.Logger.AddItem(new LogItem(ex)); } }