private static AIHeroClient GetTarget(float vDefaultRange = 0, DamageType vDefaultDamageType = DamageType.Physical) { if (Math.Abs(vDefaultRange) < 0.00001) { vDefaultRange = Q.Range; } if (!AssassinManager.getCheckBoxItem("AssassinActive")) { return(TargetSelector.GetTarget(vDefaultRange, vDefaultDamageType)); } var assassinRange = AssassinManager.getSliderItem("AssassinSearchRange"); var vEnemy = ObjectManager.Get <AIHeroClient>() .Where( enemy => enemy.Team != Player.Team && !enemy.IsDead && enemy.IsVisible && AssassinManager.assMenu["Assassin" + enemy.NetworkId] != null && AssassinManager.getCheckBoxItem("Assassin" + enemy.NetworkId) && Player.Distance(enemy) < assassinRange); if (AssassinManager.getBoxItem("AssassinSelectOption") == 1) { vEnemy = (from vEn in vEnemy select vEn).OrderByDescending(vEn => vEn.MaxHealth); } var objAiHeroes = vEnemy as AIHeroClient[] ?? vEnemy.ToArray(); var t = !objAiHeroes.Any() ? TargetSelector.GetTarget(vDefaultRange, vDefaultDamageType) : objAiHeroes[0]; return(t); }
private static void Game_OnGameLoad(EventArgs args) { if (Player.ChampionName != "MonkeyKing") { return; } if (Player.IsDead) { return; } Q = new Spell(SpellSlot.Q, 375f); W = new Spell(SpellSlot.W); E = new Spell(SpellSlot.E, 640f); R = new Spell(SpellSlot.R, 375f); E.SetTargetted(0.5f, 2000f); SpellList.Add(Q); SpellList.Add(E); SpellList.Add(R); //Create the menu Config = new Menu("xQx | Monkey King", "MonkeyKing", true); var targetSelectorMenu = new Menu("Target Selector", "Target Selector"); TargetSelector.AddToMenu(targetSelectorMenu); Config.AddSubMenu(targetSelectorMenu); AssassinManager.Load(); Config.AddSubMenu(new Menu("Orbwalking", "Orbwalking")); Orbwalker = new Orbwalking.Orbwalker(Config.SubMenu("Orbwalking")); Orbwalker.SetAttack(true); SetSmiteSlot(); var menuCombo = new Menu("R", "R"); // Combo Config.AddSubMenu(menuCombo); menuCombo.AddItem(new MenuItem("UseRComboEnemyCount", "Use R if enemy count >= (0 = off)").SetValue(new Slider(1, 5, 0))); menuCombo.AddItem(new MenuItem("UseRForTheEnemy", "Force Ultimate For:")); foreach (var enemy in ObjectManager.Get <Obj_AI_Hero>().Where(enemy => enemy.Team != Player.Team)) { menuCombo.AddItem(new MenuItem("forceUlti" + enemy.ChampionName, space + enemy.ChampionName).SetValue(new StringList(new[] { "Off", "Everytime", "Just Killable" }))); } if (SmiteSlot != SpellSlot.Unknown) { menuCombo.AddItem(new MenuItem("ComboSmite", "Use Smite").SetValue(true)); } // Harass Config.AddSubMenu(new Menu("Harass", "Harass")); Config.SubMenu("Harass").AddItem(new MenuItem("UseQHarass", "Use Q").SetValue(true)); Config.SubMenu("Harass").AddItem(new MenuItem("UseEHarass", "Use E").SetValue(true)); Config.SubMenu("Harass").AddItem(new MenuItem("UseEHarassTurret", "Don't Under Turret E").SetValue(true)); Config.SubMenu("Harass").AddItem(new MenuItem("HarassMana", "Min. Mana Percent: ").SetValue(new Slider(50, 100, 0))); Config.SubMenu("Harass").AddItem(new MenuItem("HarassActive", "Harass").SetValue(new KeyBind("C".ToCharArray()[0], KeyBindType.Press))); // Lane Clear Config.AddSubMenu(new Menu("LaneClear", "LaneClear")); Config.SubMenu("LaneClear").AddItem(new MenuItem("UseQLaneClear", "Use Q").SetValue(false)); Config.SubMenu("LaneClear").AddItem(new MenuItem("UseELaneClear", "Use E").SetValue(false)); Config.SubMenu("LaneClear") .AddItem(new MenuItem("LaneClearMana", "Min. Mana Percent: ").SetValue(new Slider(50, 100, 0))); Config.SubMenu("LaneClear").AddItem(new MenuItem("LaneClearUseTiamat", "Tiamat").SetValue(true)); Config.SubMenu("LaneClear") .AddItem( new MenuItem("LaneClearActive", "LaneClear").SetValue( new KeyBind("V".ToCharArray()[0], KeyBindType.Press))); // Jungling Farm Config.AddSubMenu(new Menu("JungleFarm", "JungleFarm")); Config.SubMenu("JungleFarm").AddItem(new MenuItem("UseQJungleFarm", "Use Q").SetValue(true)); Config.SubMenu("JungleFarm").AddItem(new MenuItem("UseEJungleFarm", "Use E").SetValue(false)); Config.SubMenu("JungleFarm") .AddItem(new MenuItem("JungleFarmMana", "Min. Mana Percent: ").SetValue(new Slider(50, 100, 0))); Config.SubMenu("JungleFarm").AddItem(new MenuItem("JungleFarmUseTiamat", "Tiamat").SetValue(true)); Config.SubMenu("JungleFarm") .AddItem( new MenuItem("JungleFarmActive", "JungleFarm").SetValue( new KeyBind("V".ToCharArray()[0], KeyBindType.Press))); // Extras -> Use Items MenuMisc = new Menu("Misc", "Misc"); Config.AddSubMenu(MenuMisc); MenuMisc.AddItem(new MenuItem("Misc.AutoQ", "Auto Q if it'll hit").SetValue(true)); MenuMisc.AddItem(new MenuItem("Misc.BlockR", "Block R if it won't hit").SetValue(false)); MenuMisc.AddItem(new MenuItem("InterruptSpells", "Interrupt Spells").SetValue(true)); var menuUseItems = new Menu("Use Items", "menuUseItems"); Config.SubMenu("Extras").AddSubMenu(menuUseItems); // Extras -> Use Items -> Targeted Items MenuTargetedItems = new Menu("Targeted Items", "menuTargetItems"); menuUseItems.AddSubMenu(MenuTargetedItems); MenuTargetedItems.AddItem(new MenuItem("item3153", "Blade of the Ruined King").SetValue(true)); MenuTargetedItems.AddItem(new MenuItem("item3144", "Bilgewater Cutlass").SetValue(true)); MenuTargetedItems.AddItem(new MenuItem("item3146", "Hextech Gunblade").SetValue(true)); MenuTargetedItems.AddItem(new MenuItem("item3184", "Entropy ").SetValue(true)); // Extras -> Use Items -> AOE Items MenuNonTargetedItems = new Menu("AOE Items", "menuNonTargetedItems"); menuUseItems.AddSubMenu(MenuNonTargetedItems); MenuNonTargetedItems.AddItem(new MenuItem("item3180", "Odyn's Veil").SetValue(true)); MenuNonTargetedItems.AddItem(new MenuItem("item3143", "Randuin's Omen").SetValue(true)); MenuNonTargetedItems.AddItem(new MenuItem("item3131", "Sword of the Divine").SetValue(true)); MenuNonTargetedItems.AddItem(new MenuItem("item3074", "Ravenous Hydra").SetValue(true)); MenuNonTargetedItems.AddItem(new MenuItem("item3077", "Tiamat ").SetValue(true)); MenuNonTargetedItems.AddItem(new MenuItem("item3142", "Youmuu's Ghostblade").SetValue(true)); // Drawing Config.AddSubMenu(new Menu("Drawings", "Drawings")); Config.SubMenu("Drawings") .AddItem( new MenuItem("QRange", "Q Range").SetValue( new Circle(false, Color.FromArgb(255, 255, 255, 255)))); Config.SubMenu("Drawings") .AddItem( new MenuItem("ERange", "E Range").SetValue( new Circle(false, Color.FromArgb(255, 255, 255, 255)))); Config.SubMenu("Drawings") .AddItem( new MenuItem("RRange", "R Range").SetValue( new Circle(false, Color.FromArgb(255, 255, 255, 255)))); var dmgAfterComboItem = new MenuItem("DamageAfterCombo", "Damage After Combo").SetValue(true); Config.SubMenu("Drawings").AddItem(dmgAfterComboItem); Utility.HpBarDamageIndicator.DamageToUnit = GetComboDamage; Utility.HpBarDamageIndicator.Enabled = dmgAfterComboItem.GetValue <bool>(); dmgAfterComboItem.ValueChanged += delegate(object sender, OnValueChangeEventArgs eventArgs) { Utility.HpBarDamageIndicator.Enabled = eventArgs.GetNewValue <bool>(); }; new PotionManager(); Config.AddToMainMenu(); Utility.HpBarDamageIndicator.DamageToUnit = GetComboDamage; Utility.HpBarDamageIndicator.Enabled = true; Game.OnUpdate += Game_OnUpdate; Drawing.OnDraw += Drawing_OnDraw; Interrupter2.OnInterruptableTarget += Interrupter2_OnInterruptableTarget; Spellbook.OnCastSpell += Spellbook_OnCastSpell; Obj_AI_Base.OnProcessSpellCast += Obj_AI_Hero_OnProcessSpellCast; Notifications.AddNotification(string.Format("{0} Loaded", ChampionName)); }
public static void Game_OnGameLoad() { if (Player.ChampionName != "MonkeyKing") { return; } if (Player.IsDead) { return; } Q = new Spell(SpellSlot.Q, 375f); W = new Spell(SpellSlot.W); E = new Spell(SpellSlot.E, 640f); R = new Spell(SpellSlot.R, 375f); E.SetTargetted(0.5f, 2000f); SpellList.Add(Q); SpellList.Add(E); SpellList.Add(R); //Create the menu Config = MainMenu.AddMenu("xQx | Monkey King", "MonkeyKing"); AssassinManager.Load(); // Combo menuCombo = Config.AddSubMenu("R", "R"); menuCombo.Add("UseRComboEnemyCount", new Slider("Use R if Enemy Count >= (0 = off)", 1, 0, 5)); menuCombo.AddGroupLabel("Force Ultimate For:"); foreach (var enemy in ObjectManager.Get <AIHeroClient>().Where(enemy => enemy.Team != Player.Team)) { menuCombo.Add("forceUlti" + enemy.NetworkId, new ComboBox(enemy.ChampionName, 0, "Off", "Everytime", "Just Killable")); } // Harass menuHarass = Config.AddSubMenu("Harass", "Harass"); menuHarass.Add("UseQHarass", new CheckBox("Use Q")); menuHarass.Add("UseEHarass", new CheckBox("Use E")); menuHarass.Add("UseEHarassTurret", new CheckBox("Don't E Under Enemy Turret")); menuHarass.Add("HarassMana", new Slider("Min. Mana Percent: ", 50)); // Lane Clear menuLane = Config.AddSubMenu("LaneClear", "LaneClear"); menuLane.Add("UseQLaneClear", new CheckBox("Use Q", false)); menuLane.Add("UseELaneClear", new CheckBox("Use E", false)); menuLane.Add("LaneClearMana", new Slider("Min. Mana Percent: ", 50)); // Jungling Farm menuJungle = Config.AddSubMenu("JungleFarm", "JungleFarm"); menuJungle.Add("UseQJungleFarm", new CheckBox("Use Q")); menuJungle.Add("UseEJungleFarm", new CheckBox("Use E", false)); menuJungle.Add("JungleFarmMana", new Slider("Min. Mana Percent: ", 50)); // Misc menuMisc = Config.AddSubMenu("Misc", "Misc"); menuMisc.Add("Misc.AutoQ", new ComboBox("Auto Q if it Will Hit", 1, "Off", "On", "On: Just If I'm Visible")); menuMisc.Add("Misc.BlockR", new CheckBox("Block R if it Won't Hit", false)); menuMisc.Add("InterruptSpells", new CheckBox("Interrupt Spells")); // Drawing menuDraw = Config.AddSubMenu("Drawings", "Drawings"); menuDraw.Add("QRange", new CheckBox("Q Range")); //.SetValue(new Circle(false, Color.FromArgb(255, 255, 255, 255)))); menuDraw.Add("ERange", new CheckBox("E Range")); //.SetValue(new Circle(false, Color.FromArgb(255, 255, 255, 255)))); menuDraw.Add("RRange", new CheckBox("R Range")); //.SetValue(new Circle(false, Color.FromArgb(255, 255, 255, 255)))); Game.OnUpdate += Game_OnUpdate; Drawing.OnDraw += Drawing_OnDraw; Interrupter2.OnInterruptableTarget += Interrupter2_OnInterruptableTarget; Spellbook.OnCastSpell += Spellbook_OnCastSpell; Obj_AI_Base.OnProcessSpellCast += AIHeroClient_OnProcessSpellCast; Obj_AI_Base.OnBuffGain += (sender, eventArgs) => { if (sender.IsMe && eventArgs.Buff.DisplayName == "MonkeyKingDecoyStealth") { monkeykingdecoystealth = true; } }; Obj_AI_Base.OnBuffLose += (sender, eventArgs) => { if (sender.IsMe && eventArgs.Buff.DisplayName == "MonkeyKingDecoyStealth") { monkeykingdecoystealth = false; } }; }