// Credits: Trees private void OnObjAiBaseProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { if (sender == null || !sender.IsValid || !Menu.Item(Menu.Name + ".shield.enabled").GetValue <bool>()) { return; } var unit = sender as Obj_AI_Hero; var type = args.SData.TargettingType; if (unit == null || !unit.IsEnemy) { return; } var blockableSpell = SpellBlockManager.Contains(unit, args); if (!blockableSpell) { return; } if ((type == SpellDataTargetType.Unit || type == SpellDataTargetType.SelfAndUnit) && args.Target != null && args.Target.IsMe) { E.Cast(); } else if (unit.ChampionName.Equals("Riven", StringComparison.OrdinalIgnoreCase) && unit.Distance(Player) < 400) { E.Cast(); } else if (unit.ChampionName.Equals("Bard", StringComparison.OrdinalIgnoreCase) && type.Equals(SpellDataTargetType.Location) && args.End.Distance(Player.ServerPosition) < 300) { Utility.DelayAction.Add(400 + (int)(unit.Distance(Player) / 7f), () => E.Cast()); } else if (args.SData.IsAutoAttack() && args.Target != null && args.Target.IsMe) { E.Cast(); } else if (type.Equals(SpellDataTargetType.SelfAoe) && unit.Distance(Player.ServerPosition) < args.SData.CastRange + args.SData.CastRadius / 2) { E.Cast(); } else if (type.Equals(SpellDataTargetType.Self)) { if ((unit.ChampionName.Equals("Kalista", StringComparison.OrdinalIgnoreCase) && Player.Distance(unit) < 350)) { E.Cast(); } if (unit.ChampionName.Equals("Zed", StringComparison.OrdinalIgnoreCase) && Player.Distance(unit) < 300) { Utility.DelayAction.Add(200, () => E.Cast()); } } }
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 } }); ManaManager.AddToMenu(harassMenu, "harass", ManaCheckType.Minimum, ManaValueType.Percent); 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")); ManaManager.AddToMenu(laneclearMenu, "lane-clear-q", ManaCheckType.Minimum, ManaValueType.Percent, "Q", 50); ManaManager.AddToMenu(laneclearMenu, "lane-clear-w", ManaCheckType.Minimum, ManaValueType.Percent, "W", 40); 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")); HeroListManager.AddToMenu( miscMenu.AddSubMenu(new Menu("Q " + "Immobile", miscMenu.Name + "q-immobile")), "q-immobile", false, false, true, false); IndicatorManager.AddToMenu(DrawingManager.Menu, true); IndicatorManager.Add(Q); IndicatorManager.Add(W); 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 } }); 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, MaxValue = 101, 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, MaxValue = 101, 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")); HeroListManager.AddToMenu( miscMenu.AddSubMenu(new Menu("Q Immobile", miscMenu.Name + "q-immobile")), new HeroListManagerArgs("q-immobile") { IsWhitelist = false, Allies = false, Enemies = true, DefaultValue = false }); IndicatorManager.AddToMenu(DrawingManager.Menu, true); IndicatorManager.Add(Q); IndicatorManager.Add(W); IndicatorManager.Finale(); }