Пример #1
0
        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);
        }
Пример #2
0
        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));
        }
Пример #3
0
        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;
                }
            };
        }