Example #1
0
        public Kalista()
        {
            CreateMenu();
            SentinelManager.Initialize();
            LoadModules();
            PopulateList();
            Game.OnUpdate  += OnUpdate;
            Drawing.OnDraw += OnDraw;
            CustomDamageIndicator.DamageToUnit = Helper.GetRendDamage;
            Obj_AI_Base.OnProcessSpellCast    += OnProcessSpell;
            Spellbook.OnCastSpell += (sender, args) =>
            {
                if (sender.Owner.IsMe && args.Slot == SpellSlot.Q && ObjectManager.Player.IsDashing())
                {
                    args.Process = false;
                }
            };

            Orbwalker.OnUnkillableMinion += (Obj_AI_Base target, Orbwalker.UnkillableMinionArgs args) =>
            {
                var killableMinion = target as Obj_AI_Base;
                if (killableMinion == null || !SpellManager.Spell[SpellSlot.E].IsReady() || ObjectManager.Player.HasBuff("summonerexhaust") || !killableMinion.HasRendBuff())
                {
                    return;
                }

                if (getCheckBoxItem(laneclearMenu, "com.ikalista.laneclear.useEUnkillable") &&
                    killableMinion.IsMobKillable())
                {
                    SpellManager.Spell[SpellSlot.E].Cast();
                }
            };


            Orbwalker.OnPreAttack += (AttackableUnit target, Orbwalker.PreAttackArgs args) =>
            {
                if (!getCheckBoxItem(miscMenu, "com.ikalista.misc.forceW"))
                {
                    return;
                }

                target = HeroManager.Enemies.FirstOrDefault(x => ObjectManager.Player.LSDistance(x) <= 600 && x.HasBuff("kalistacoopstrikemarkally"));
                if (args.Target != null)
                {
                    Orbwalker.ForcedTarget = (args.Target as Obj_AI_Base);
                }
            };
        }
Example #2
0
 private static void OnValueChange(ValueBase <bool> sender, ValueBase <bool> .ValueChangeArgs args)
 {
     SentinelManager.RecalculateOpenLocations();
 }
Example #3
0
        /// <summary>
        ///     This is where jeff creates his first Menu in a long time
        /// </summary>
        private void CreateMenu()
        {
            Menu = MainMenu.AddMenu("iKalista: Reborn", "com.ikalista");

            comboMenu = Menu.AddSubMenu("iKalista: Reborn - Combo", "com.ikalista.combo");
            comboMenu.Add("com.ikalista.combo.useQ", new CheckBox("Use Q"));
            comboMenu.Add("com.ikalista.combo.useE", new CheckBox("Use E"));
            comboMenu.Add("com.ikalista.combo.stacks", new Slider("Rend at X stacks", 10, 1, 20));
            comboMenu.Add("com.ikalista.combo.eLeaving", new CheckBox("Use E Leaving", true));
            comboMenu.Add("com.ikalista.combo.ePercent", new Slider("Min Percent for E Leaving", 50, 10, 100));
            comboMenu.Add("com.ikalista.combo.saveMana", new CheckBox("Save Mana for E"));
            comboMenu.Add("com.ikalista.combo.saveAlly", new CheckBox("Save Ally With R"));
            comboMenu.Add("com.ikalista.combo.balista", new CheckBox("Use Balista", true));
            comboMenu.Add("com.ikalista.combo.autoE", new CheckBox("Auto E Minion > Champion"));
            comboMenu.Add("com.ikalista.combo.orbwalkMinions", new CheckBox("Orbwalk Minions in combo"));
            comboMenu.Add("com.ikalista.combo.allyPercent", new Slider("Min Health % for Ally", 20, 10));

            mixedMenu = Menu.AddSubMenu("iKalista: Reborn - Mixed", "com.ikalista.mixed");
            mixedMenu.Add("com.ikalista.mixed.useQ", new CheckBox("Use Q"));
            mixedMenu.Add("com.ikalista.mixed.useE", new CheckBox("Use E"));
            mixedMenu.Add("com.ikalista.mixed.stacks", new Slider("Rend at X stacks", 10, 1, 20));

            laneclearMenu = Menu.AddSubMenu("iKalista: Reborn - Laneclear", "com.ikalista.laneclear");
            laneclearMenu.Add("com.ikalista.laneclear.useQ", new CheckBox("Use Q"));
            laneclearMenu.Add("com.ikalista.laneclear.qMinions", new Slider("Min Minions for Q", 3, 1, 10));
            laneclearMenu.Add("com.ikalista.laneclear.useE", new CheckBox("Use E"));
            laneclearMenu.Add("com.ikalista.laneclear.eMinions", new Slider("Min Minions for E", 5, 1, 10));
            laneclearMenu.Add("com.ikalista.laneclear.useEUnkillable", new CheckBox("E Unkillable Minions"));
            laneclearMenu.Add("com.ikalista.laneclear.eSiege", new CheckBox("Auto E Siege Minions", true));

            jungleStealMenu = Menu.AddSubMenu("iKalista: Reborn - Jungle Steal", "com.ikalista.jungleSteal");
            jungleStealMenu.Add("com.ikalista.jungleSteal.enabled", new CheckBox("Use Rend To Steal Jungle Minions", true));
            foreach (var minion in JungleMinions)
            {
                jungleStealMenu.Add(minion.Key, new CheckBox(minion.Value, true));
            }

            miscMenu = Menu.AddSubMenu("iKalista: Reborn - Misc", "com.ikalista.Misc");
            miscMenu.Add("com.ikalista.misc.reduceE", new Slider("Reduce Rend Damage", 50, 0, 300));
            miscMenu.Add("com.ikalista.misc.forceW", new CheckBox("Focus Enemy With W"));
            if (Game.MapId != GameMapId.SummonersRift)
            {
                miscMenu.AddLabel("Sentinel Manager is only on Summoners Rift, sorry.");
            }
            else
            {
                miscMenu.AddGroupLabel("Sentinel Manager (HellSing) :");
                miscMenu.Add("enabled", new CheckBox("Enabled"));
                miscMenu.Add("noMode", new CheckBox("Only use when no mode active"));
                miscMenu.Add("alert", new CheckBox("Alert when sentinel is taking damage"));
                miscMenu.Add("mana", new Slider("Minimum mana available when casting W ({0}%)", 40));
                miscMenu.AddLabel("Send to the following locations (no specific order):");
                miscMenu.Add("baron", new CheckBox("Baron (stuck bug usage)"));
                miscMenu.Add("dragon", new CheckBox("Dragon (stuck bug usage)"));
                miscMenu.Add("mid", new CheckBox("Mid lane brush"));
                miscMenu.Add("blue", new CheckBox("Blue buff"));
                miscMenu.Add("red", new CheckBox("Red buff"));
                SentinelManager.RecalculateOpenLocations();

                miscMenu["baron"].Cast <CheckBox>().OnValueChange  += OnValueChange;
                miscMenu["dragon"].Cast <CheckBox>().OnValueChange += OnValueChange;
                miscMenu["mid"].Cast <CheckBox>().OnValueChange    += OnValueChange;
                miscMenu["blue"].Cast <CheckBox>().OnValueChange   += OnValueChange;
                miscMenu["red"].Cast <CheckBox>().OnValueChange    += OnValueChange;
            }

            drawingMenu = Menu.AddSubMenu("iKalista: Reborn - Drawing", "com.ikalista.drawing");
            drawingMenu.Add("com.ikalista.drawing.spellRanges", new CheckBox("Draw Spell Ranges"));
            drawingMenu.Add("com.ikalista.drawing.eDamage", new CheckBox("Draw E Damage"));             //.SetValue(new Circle(true, Color.DarkOliveGreen)));
            drawingMenu.Add("com.ikalista.drawing.damagePercent", new CheckBox("Draw Percent Damage")); //.SetValue(new Circle(true, Color.DarkOliveGreen)));
        }
Example #4
0
        /// <summary>
        ///     This is where jeff creates his first Menu in a long time
        /// </summary>
        private void CreateMenu()
        {
            Menu = MainMenu.AddMenu("i滑板鞋:重生", "com.ikalista");

            comboMenu = Menu.AddSubMenu("连招", "com.ikalista.combo");
            comboMenu.Add("com.ikalista.combo.useQ", new CheckBox("使用 Q"));
            comboMenu.Add("com.ikalista.combo.useE", new CheckBox("使用 E"));
            comboMenu.Add("com.ikalista.combo.stacks", new Slider("X 层叠加使用 E", 10, 1, 20));
            comboMenu.Add("com.ikalista.combo.eLeaving", new CheckBox("使用 E 远离", true));
            comboMenu.Add("com.ikalista.combo.ePercent", new Slider("最低蓝量% 使用E 远离", 50, 10, 100));
            comboMenu.Add("com.ikalista.combo.saveMana", new CheckBox("为E 保留蓝"));
            comboMenu.Add("com.ikalista.combo.saveAlly", new CheckBox("为R 保留蓝"));
            comboMenu.Add("com.ikalista.combo.balista", new CheckBox("使用合体技", true));
            comboMenu.Add("com.ikalista.combo.autoE", new CheckBox("自动E 小兵 > 英雄"));
            comboMenu.Add("com.ikalista.combo.orbwalkMinions", new CheckBox("连招走砍时攻击小兵移动"));
            comboMenu.Add("com.ikalista.combo.allyPercent", new Slider("队友最低血量%", 20, 10));

            mixedMenu = Menu.AddSubMenu("混合", "com.ikalista.mixed");
            mixedMenu.Add("com.ikalista.mixed.useQ", new CheckBox("使用 Q"));
            mixedMenu.Add("com.ikalista.mixed.useE", new CheckBox("使用 E"));
            mixedMenu.Add("com.ikalista.mixed.stacks", new Slider("X 层叠加使用 E", 10, 1, 20));

            laneclearMenu = Menu.AddSubMenu("清线", "com.ikalista.laneclear");
            laneclearMenu.Add("com.ikalista.laneclear.useQ", new CheckBox("使用 Q"));
            laneclearMenu.Add("com.ikalista.laneclear.qMinions", new Slider("最低小兵数量 Q", 3, 1, 10));
            laneclearMenu.Add("com.ikalista.laneclear.useE", new CheckBox("使用 E"));
            laneclearMenu.Add("com.ikalista.laneclear.eMinions", new Slider("最低小兵数量 E", 5, 1, 10));
            laneclearMenu.Add("com.ikalista.laneclear.useEUnkillable", new CheckBox("E 不可击杀小兵"));
            laneclearMenu.Add("com.ikalista.laneclear.eSiege", new CheckBox("自动E炮车", true));

            jungleStealMenu = Menu.AddSubMenu("清野", "com.ikalista.jungleSteal");
            jungleStealMenu.Add("com.ikalista.jungleSteal.enabled", new CheckBox("使用 E 偷野怪", true));
            foreach (var minion in JungleMinions)
            {
                jungleStealMenu.Add(minion.Key, new CheckBox(minion.Value, true));
            }
            jungleStealMenu.Add("com.ikalista.jungleSteal.small", new CheckBox("杀死小型兵", true));
            jungleStealMenu.Add("com.ikalista.jungleSteal.large", new CheckBox("杀死大型兵", true));
            jungleStealMenu.Add("com.ikalista.jungleSteal.legendary", new CheckBox("杀死远古怪", true));

            miscMenu = Menu.AddSubMenu("杂项", "com.ikalista.Misc");
            miscMenu.Add("com.ikalista.misc.reduceE", new Slider("减少 E 伤害", 50, 0, 300));
            miscMenu.Add("com.ikalista.misc.forceW", new CheckBox("集火被W发现的目标"));
            if (Game.MapId != GameMapId.SummonersRift)
            {
                miscMenu.AddLabel("对不起,守卫控制只能用于召唤师峡谷.");
            }
            else
            {
                miscMenu.AddGroupLabel("守卫控制 (HellSing) :");
                miscMenu.Add("enabled", new CheckBox("开启"));
                miscMenu.Add("noMode", new CheckBox("只在无模式时使用"));
                miscMenu.Add("alert", new CheckBox("提示当守卫受到攻击"));
                miscMenu.Add("mana", new Slider("最低蓝量使用 W ({0}%)", 40));
                miscMenu.AddLabel("发送守卫至以下位置:");
                miscMenu.Add("baron", new CheckBox("男爵 (卡男爵)"));
                miscMenu.Add("dragon", new CheckBox("龙 (卡龙池)"));
                miscMenu.Add("mid", new CheckBox("中路草"));
                miscMenu.Add("blue", new CheckBox("蓝 Buff"));
                miscMenu.Add("red", new CheckBox("红 buff"));
                SentinelManager.RecalculateOpenLocations();

                miscMenu["baron"].Cast <CheckBox>().OnValueChange  += OnValueChange;
                miscMenu["dragon"].Cast <CheckBox>().OnValueChange += OnValueChange;
                miscMenu["mid"].Cast <CheckBox>().OnValueChange    += OnValueChange;
                miscMenu["blue"].Cast <CheckBox>().OnValueChange   += OnValueChange;
                miscMenu["red"].Cast <CheckBox>().OnValueChange    += OnValueChange;
            }

            drawingMenu = Menu.AddSubMenu("线圈", "com.ikalista.drawing");
            drawingMenu.Add("com.ikalista.drawing.spellRanges", new CheckBox("显示技能范围"));
            drawingMenu.Add("com.ikalista.drawing.eDamage", new CheckBox("显示 E 伤害"));       //.SetValue(new Circle(true, Color.DarkOliveGreen)));
            drawingMenu.Add("com.ikalista.drawing.eDamageJ", new CheckBox("显示 E 伤害 (野怪)")); //.SetValue(new Circle(true, Color.DarkOliveGreen)));
            drawingMenu.Add("com.ikalista.drawing.damagePercent", new CheckBox("显示伤害百分比")); //.SetValue(new Circle(true, Color.DarkOliveGreen)));
        }