Example #1
0
            static CondemnMenu()
            {
                MenuCondemn = Menu.AddSubMenu("Condemn");

                MenuCondemn.AddGroupLabel("Condemn settings : ");
                MenuCondemn.AddSeparator(5);

                MenuCondemn.Add("Enabled", new CheckBox("Use E to stun"));
                MenuCondemn.Add("Keybind.E", new KeyBind("Use E after next autoattack", false, KeyBind.BindTypes.PressToggle, 'E'));
                MenuCondemn.Add("Keybind.FlashCondemn", new KeyBind("Flash condemn", false, KeyBind.BindTypes.HoldActive, 'G'));
                MenuCondemn.AddSeparator();
                MenuCondemn.Add("E.Mode", new ComboBox("E Mode", new [] { "Always", "Only in Combo" }));
                MenuCondemn.Add("E.Method", new ComboBox("E Method", new[] { "Accurate", "Fast" }));
                MenuCondemn.Add("E.Targetting", new ComboBox("E Targetting mode", new[] { "Everyone", "Current target" }));
                MenuCondemn.Add("E.PushDistance", new Slider("Push distance", 420, 380, 470));
                MenuCondemn.AddSeparator(5);

                MenuCondemn.AddGroupLabel("Execute settings : ");
                MenuCondemn.AddSeparator(5);

                MenuCondemn.Add("E.Execute", new CheckBox("Use E to execute"));
                MenuCondemn.Add("E.Execute.Mode", new ComboBox("Execute mode", new[] { "Only after AutoAttack", "Always" }));
                MenuCondemn.Add("E.Execute.Enemies", new Slider("Use E to execute only if {0} or less enemies are near", 2, 1, 5));
                MenuCondemn.AddSeparator(5);

                MenuCondemn.AddGroupLabel("Use condemn on : ");
                MenuCondemn.AddSeparator(5);

                foreach (var enemy in EntityManager.Heroes.Enemies)
                {
                    MenuCondemn.Add("Enabled." + enemy.ChampionName.ToLower(), new CheckBox(enemy.ChampionName));
                }
            }
Example #2
0
        public static void Initialize()
        {
            MainMenu = EloBuddy.SDK.Menu.MainMenu.AddMenu("XinZhao Buddy", "XinZhaoBuddy");
            MainMenu.AddGroupLabel("XinZhao Buddy");
            MainMenu.AddLabel("Versiyon: " + "1.0.0.4");
            MainMenu.AddSeparator();
            MainMenu.AddLabel("Yapan Kişi: " + "Roach");
            MainMenu.AddLabel("Çeviri TRAdana");
            Combo.Initialize();

            Harass.Initialize();

            Clear.Initialize();

            var smiteSpell = Player.Instance.Spellbook.GetSpell(Spells.Smite);
            if (smiteSpell != null)
            {
                Smite.Initialize();
            }

            Misc.Initialize();

            KillSteal.Initialize();

            Draw.Initialize();
        }
Example #3
0
            static Drawings()
            {
                DrawingsMenu = Menu.AddSubMenu("Drawings");

                DrawingsMenu.AddGroupLabel("Drawings settings : ");
                DrawingsMenu.AddSeparator(5);
                DrawingsMenu.Add("DrawPermashow", new CheckBox("Enable PermaShow"));
                DrawingsMenu.Add("HPBar", new CheckBox("Draw stacks on enemy"));
                DrawingsMenu.Add("HPBar.FontSize", new Slider("Font size : {0}", 15, 10, 25)).OnValueChange +=
                    delegate(ValueBase <int> sender, ValueBase <int> .ValueChangeArgs args)
                {
                    sender.DisplayName = "Font size : {0} You need to F5 to make those changes take effect!";
                };
                DrawingsMenu.AddSeparator();
                DrawingsMenu.Add("UltDuration", new CheckBox("Draw ult duration"));
                DrawingsMenu.Add("UltDuration.FontSize", new Slider("Font size : {0}", 18, 10, 25)).OnValueChange +=
                    delegate(ValueBase <int> sender, ValueBase <int> .ValueChangeArgs args)
                {
                    sender.DisplayName = "Font size : {0} You need to F5 to make those changes take effect!";
                };
                DrawingsMenu.AddSeparator();
                DrawingsMenu.Add("CurrentTarget", new CheckBox("Draw current target"));
                DrawingsMenu.Add("DangerousSpells", new CheckBox("Draw dangerous spells"));
                DrawingsMenu.AddSeparator(10);
                DrawingsMenu.Add("DangerousSpells.FontSize", new Slider("Dangerous spells font size : {0}", 15, 10, 25)).OnValueChange +=
                    delegate(ValueBase <int> sender, ValueBase <int> .ValueChangeArgs args)
                {
                    sender.DisplayName = "Dangerous spells font size : {0} You need to F5 to make those changes take effect!";
                };
                DrawingsMenu.Add("DangerousSpells.X", new Slider("DangerousSpells : X : {0}", (int)(Drawing.Width * 0.85f), 10, Drawing.Width));
                DrawingsMenu.Add("DangerousSpells.Y", new Slider("DangerousSpells : Y : {0}", (int)(Drawing.Height * 0.08f), 1, Drawing.Height));
            }
Example #4
0
 static Laneclear()
 {
     Menu.AddGroupLabel("Laneclear");
     Menu.Add("laneclearUseQ", new CheckBox("Use Q"));
     Menu.AddLabel("Smart Q usage on enemy");
     Menu.Add("laneclearUseQMana", new Slider("Min mana ({0})%", 40));
 }
Example #5
0
        public static void Initialize()
        {
            MainMenu = EloBuddy.SDK.Menu.MainMenu.AddMenu("XinZhao Buddy", "XinZhaoBuddy");
            MainMenu.AddGroupLabel("XinZhao Buddy");
            MainMenu.AddLabel("Version: " + "1.0.0.4");
            MainMenu.AddSeparator();
            MainMenu.AddLabel("Creators: " + "Roach");

            Combo.Initialize();

            Harass.Initialize();

            Clear.Initialize();

            var smiteSpell = Player.Instance.Spellbook.GetSpell(Spells.Smite);

            if (smiteSpell != null)
            {
                Smite.Initialize();
            }

            Misc.Initialize();

            KillSteal.Initialize();

            Draw.Initialize();
        }
Example #6
0
        public static void Initialize()
        {
            MainMenu = EloBuddy.SDK.Menu.MainMenu.AddMenu("Warwick Buddy", "WarwickBuddy");
            MainMenu.AddGroupLabel("Warwick Buddy");
            MainMenu.AddLabel("Version: " + "1.0.0.4");
            MainMenu.AddSeparator();
            MainMenu.AddLabel("Creators: " + "Roach");

            Combo.Initialize();

            Harass.Initialize();

            Clear.Initialize();

            var smiteSpell = Player.Instance.Spellbook.GetSpell(Spells.Smite);
            if (smiteSpell != null)
            {
                Smite.Initialize();
            }

            LastHit.Initialize();

            Misc.Initialize();

            KillSteal.Initialize();

            Draw.Initialize();
        }
Example #7
0
            static TumbleMenu()
            {
                MenuTumble = Menu.AddSubMenu("Tumble");

                MenuTumble.AddGroupLabel("Tumble settings : ");
                MenuTumble.AddSeparator(5);

                MenuTumble.Add("Q.Mode", new ComboBox("Q Mode", new[] { "CursorPos", "Auto" }, 1));
                MenuTumble.AddSeparator(5);
                MenuTumble.Add("Q.Gapcloser", new CheckBox("Use Q as a gapcloser if enemy is escaping", false));
                MenuTumble.AddLabel("Uses Q as a gapcloser if an enemy is escaping and is killable from an empovered autoattack");
                MenuTumble.AddSeparator(5);
                MenuTumble.Add("Q.Backwards", new CheckBox("Use Q on gapclosers", false));
                MenuTumble.AddLabel("Uses Q backwards when enemy is using a high danger level gapcloser on you");
                MenuTumble.AddSeparator(5);
                MenuTumble.Add("Q.DangerousSpells", new CheckBox("Take into account dangerous spells", false));
                MenuTumble.AddLabel("Takes into account dangerous spells / gapclosers while checking if tumble position is dangerous");
                MenuTumble.AddSeparator(5);
                MenuTumble.Add("Q.To2StacksOnly", new CheckBox("Use Q only on 2 W stacks", false));
                MenuTumble.AddLabel("Uses Q only if an enemy has 2 W stacks.");
                MenuTumble.AddSeparator(5);
                MenuTumble.Add("Q.IgnoreAllChecks", new KeyBind("Ignore all safety checks", false, KeyBind.BindTypes.PressToggle, 'H')).OnValueChange +=
                    delegate(ValueBase <bool> sender, ValueBase <bool> .ValueChangeArgs args)
                {
                    Helpers.PrintInfoMessage(args.NewValue ? "Ignore all safety checks : <font color =\"#32BA1A\"><b>Enabled</b></font>" : "Ignore all safety checks : <font color =\"#E02007\"><b>Disabled</b></font>", false);
                };
                MenuTumble.AddLabel("Ignores all safety checks. Casts Q to your cursor position whenever possible");
            }
Example #8
0
 static Harass()
 {
     Menu.AddGroupLabel("Harass");
     Menu.Add("harassUseQ", new CheckBox("Use Q"));
     Menu.AddLabel("Uses Q if enemy has 1 silver stack");
     Menu.Add("harassUseE", new CheckBox("Use E"));
     Menu.AddLabel("Casts E on enemy that has 2 silver stacks");
 }
Example #9
0
 static Flee()
 {
     Menu.AddGroupLabel("Flee");
     Menu.Add("fleeUseQ", new CheckBox("Use Q"));
     Menu.AddLabel("Uses Q backwards");
     Menu.Add("fleeUseE", new CheckBox("Use E"));
     Menu.AddLabel("Casts E on closest enemy");
 }
Example #10
0
 static Combo()
 {
     Menu.AddGroupLabel("Combo");
     Menu.Add("comboUseQ", new CheckBox("Use Q"));
     Menu.AddLabel("Q usage in ComboMode");
     Menu.Add("comboUseR", new CheckBox("Use R", false));
     Menu.AddLabel("R usage in ComboMode");
     Menu.Add("comboUseR.Enemies", new Slider("Use R when {0} or more enemies are nearby", 3, 1, 5));
 }
Example #11
0
            static Misc()
            {
                MiscMenu = Menu.AddSubMenu("Misc");

                MiscMenu.AddGroupLabel("Misc settings : ");
                MiscMenu.AddSeparator(5);

                MiscMenu.Add("NoAAWhileStealth", new KeyBind("Dont AutoAttack while stealth", false, KeyBind.BindTypes.PressToggle, 'T')).OnValueChange +=
                    delegate(ValueBase <bool> sender, ValueBase <bool> .ValueChangeArgs args)
                {
                    Helpers.PrintInfoMessage(args.NewValue ? "Dont attack while stealth : <font color =\"#32BA1A\"><b>Enabled</b></font>" : "Dont attack while stealth : <font color =\"#E02007\"><b>Disabled</b></font>", false);
                };
                MiscMenu.Add("NoAADelay", new Slider("Delay", 1000, 0, 1000));
                MiscMenu.Add("NoAAEnemies", new Slider("Only if {0} or more enemies are nearby", 2, 1, 5));
                MiscMenu.AddSeparator(40);

                MiscMenu.AddGroupLabel("SkinHack settings : ");
                MiscMenu.AddSeparator(5);

                MiscMenu.Add("SkinHack", new CheckBox("Use SkinHack", false)).OnValueChange +=
                    delegate(ValueBase <bool> sender, ValueBase <bool> .ValueChangeArgs args)
                {
                    Player.SetSkin(Player.Instance.BaseSkinName, args.NewValue ? SkinId : 0);
                };

                MiscMenu.Add("SkinID", new ComboBox("Skin : ", VanyeSkinNames)).OnValueChange +=
                    delegate
                {
                    if (MiscMenu["SkinHack"].Cast <CheckBox>().CurrentValue)
                    {
                        Player.SetSkin(Player.Instance.BaseSkinName, SkinId);
                    }
                };
                MiscMenu.Add("Permashow.X", new Slider("Permashow position X: ", 15, 0, Drawing.Width)).OnValueChange +=
                    delegate(ValueBase <int> sender, ValueBase <int> .ValueChangeArgs args)
                {
                    PermaShow.Position[0] = args.NewValue;
                };
                MiscMenu.Add("Permashow.Y", new Slider("Permashow position Y: ", (int)(Drawing.Height * 0.08f), 0, Drawing.Height)).OnValueChange +=
                    delegate(ValueBase <int> sender, ValueBase <int> .ValueChangeArgs args)
                {
                    PermaShow.Position[1] = args.NewValue;
                };
            }
Example #12
0
 static Jungleclear()
 {
     Menu.AddGroupLabel("Jungleclear");
     Menu.Add("jungleclearUseQ", new CheckBox("Use Q"));
     Menu.AddLabel("Tries to use Q on nearest wall");
     Menu.Add("jungleclearUseQMana", new Slider("Min mana ({0})%", 40));
     Menu.Add("jungleclearUseE", new CheckBox("Use E"));
     Menu.AddLabel("Casts E on big jungle monsters");
     Menu.Add("jungleclearUseEMana", new Slider("Min mana ({0})%", 50));
 }
Example #13
0
 private void Game_OnGameLoad_Disabled(EventArgs args)
 {
     ConsoleDebug.WriteLineColor("Failed loading Evade...", ConsoleColor.Red);
     ConsoleDebug.WriteLine("   Disabled due to needed core update (as of 5.24), please be patient!");
     Chat.Print("<font color='#ff0000'>Failed loading Evade...</font>");
     Chat.Print("   Disabled due to needed core update (as of 5.24), please be patient!");
     Menu = MainMenu.AddMenu("Evade (Disabled)", "Evade", "Evade (Disabled)");
     Menu.AddGroupLabel("Disabled due to needed core update!");
     Menu.AddLabel("As the latest update has caused issues with getting buffs and sending movement commands\n" +
                   " Evade can not be fixed.\n");
     Menu.AddSeparator();
     Menu.AddLabel("Please be patient for an update and in the mean time use EvadePlus");
 }
Example #14
0
 protected override void InitializeMenu()
 {
     Menu.AddGroupLabel("Kalista - RandomUlt for " + Player.Instance.ChampionName,
                        "randomult.grouplabel.utilitymenu");
     Menu.AddCheckBox("randomult.use", "Use RandomUlt");
     Menu.Add("randomult.advanced", new CheckBox("Show Advanced Menu", false)).OnValueChange +=
         Value.AdvancedModeChanged;
     Menu.AddSeparator();
     Menu.AddSlider("randomult.range", "Don't Ult When Enemies In Range", 1000, 0, 2000, true);
     Menu.AddSlider("randomult.delay", "Delay Before Ulting", 600, 0, 3000, true);
     Menu.AddSlider("randomult.hitchance", "RandomUlt Hitchance (1 - More Ults, 5 - Less Ults)", 3, 1, 5,
                    true);
     Menu.AddLabel("Who To RandomUlt:", 25, "randomult.label", true);
     foreach (var enemy in EntityManager.Heroes.Enemies)
     {
         Menu.AddCheckBox("randomult." + enemy.ChampionName, enemy.ChampionName, true, true);
     }
 }
Example #15
0
        private void Game_OnGameLoad(EventArgs args)
        {
            ConsoleDebug.WriteLineColor("Loading...", ConsoleColor.Blue, true);

            try
            {
                Menu = MainMenu.AddMenu("Evade", "Evade");
                ConsoleDebug.WriteLineColor("   Creating Menu...", ConsoleColor.Yellow, true);
                Menu.AddGroupLabel("Evade (EzEvade Port)");
                Menu.AddLabel("Please report any bugs or anything you think is a ");
                Menu.AddLabel("problem / issue, on the GitHub Issues Section, or with a reply to the Evade forum thread.");
                Menu.Add("OpenGithub", new CheckBox("Open Github's Issues Section in browser", false)).OnValueChange +=
                    delegate(ValueBase <bool> sender, ValueBase <bool> .ValueChangeArgs changeArgs)
                {
                    if (changeArgs.OldValue == false && changeArgs.NewValue)
                    {
                        sender.CurrentValue = false;
                        Process.Start(@"https://github.com/coman3/EloBuddy.Addons/issues");
                    }
                };
                Menu.AddLabel("All Credit for the actual evading (Movement and detection) in this assembly ");
                Menu.AddLabel("goes to the creator of EzEvade.");
                Menu.AddSeparator(100);

                Menu.AddLabel("Created By: Coman3");
                Menu.AddLabel("     Github: https://github.com/coman3/");
                Menu.Add("OpenGithubComan3", new CheckBox("Open Coman3's Github in Browser", false)).OnValueChange +=
                    delegate(ValueBase <bool> sender, ValueBase <bool> .ValueChangeArgs changeArgs)
                {
                    if (changeArgs.OldValue == false && changeArgs.NewValue)
                    {
                        sender.CurrentValue = false;
                        Process.Start(@"https://github.com/coman3/");
                    }
                };
                Menu.AddLabel("Last Update: " + LastUpdate);

                Menu mainMenu = Menu.AddSubMenu("Main", "Main");
                mainMenu.Add(new DynamicKeyBind(ConfigValue.DodgeSkillShots, "Dodge SkillShots", true, KeyBind.BindTypes.PressToggle, 'K'));
                mainMenu.Add(new DynamicKeyBind(ConfigValue.ActivateEvadeSpells, "Use Evade Spells", true, KeyBind.BindTypes.PressToggle, 'K'));
                mainMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.OnlyDodgeDangerous, "Dodge Only Dangerous", false));
                mainMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.DodgeFowSpells, "Dodge FOW SkillShots", false));
                mainMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.DodgeCircularSpells, "Dodge Circular SkillShots", true));
                mainMenu.AddSeparator();
                mainMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.DodgeDangerousKeysEnabled, "Enable Dodge Only Dangerous Keys", false));
                mainMenu.Add(new DynamicKeyBind(ConfigValue.DodgeDangerousKey1, "Dodge Only Dangerous Key", false, KeyBind.BindTypes.HoldActive, 32));
                mainMenu.Add(new DynamicKeyBind(ConfigValue.DodgeDangerousKey2, "Dodge Only Dangerous Key 2", false, KeyBind.BindTypes.HoldActive, 'V'));
                mainMenu.AddSeparator();
                mainMenu.Add(new DynamicComboBox(ConfigDataType.Data, ConfigValue.EvadeMode, "Evade Mode", 3, Enum.GetNames(typeof(EvadeMode))));

                ConsoleDebug.WriteLineColor("       Detecting Spells...", ConsoleColor.Yellow, true);
                SpellDetector = new SpellDetector(Menu);
                _evadeSpell   = new EvadeSpell(Menu);

                ConsoleDebug.WriteLineColor("       Adding Humanizer and Miscellaneous Menus...", ConsoleColor.Yellow, true);
                Menu miscMenu = Menu.AddSubMenu("Misc Settings", "MiscSettings");
                miscMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.HighPrecision, "Enhanced Dodge Precision", false));
                miscMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.RecalculatePath, "Recalculate Path", true));
                miscMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.ContinueMovement, "Continue Last Movement", true));
                miscMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.CalculateWindupDelay, "Calculate Windup Delay", true));
                miscMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.CheckSpellCollision, "Check Spell Collision", false));
                miscMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.PreventDodgingUnderTower, "Prevent Dodging Under Tower", false));
                miscMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.PreventDodgingNearEnemy, "Prevent Dodging Near Enemies", true));
                miscMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.AdvancedSpellDetection, "Advanced Spell Detection", false));
                miscMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.ExtraDetectionRange, "Extra Detection Range", 1000, 500, 5000));
                //TODO: Add Reset
                //miscMenu.AddSeparator(100);
                //miscMenu.AddGroupLabel("Reset");
                //miscMenu.Add("ResetConfig", new DynamicCheckBox(ConfigDataType.Data, "ResetConfig", "Reset Properties", false).CheckBox);

                Menu fastEvadeMenu = Menu.AddSubMenu("Fast Evade", "FastEvade");
                fastEvadeMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.FastMovementBlock, "Fast Movement Block", false));
                fastEvadeMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.FastEvadeActivationTime, "FastEvade Activation Time", 65, 0, 500));
                fastEvadeMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.SpellActivationTime, "Spell Activation Time", 200, 0, 1000));
                fastEvadeMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.RejectMinDistance, "Collision Distance Buffer", 10, 0, 100));

                Menu limiterMenu = Menu.AddSubMenu("Humanizer", "Limiter");
                limiterMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.ClickOnlyOnce, "Click Only Once", true));
                limiterMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.EnableEvadeDistance, "Extended Evade", false));
                limiterMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.TickLimiter, "Tick Limiter", 100, 0, 500));
                limiterMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.SpellDetectionTime, "Spell Detection Time", 0, 0, 1000));
                limiterMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.ReactionTime, "Reaction Time", 200, 0, 500));
                limiterMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.DodgeInterval, "Dodge Interval", 0, 0, 2000));

                Menu randomizerMenu = Menu.AddSubMenu("Randomizer", "Randomizer");
                randomizerMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.EnableRandomizer, "Enable", false));
                randomizerMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.DrawBlockedRandomizerSpells, "Draw Blocked Spells", true));
                randomizerMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.RandomizerPercentage, "Accuracy", 100, 0, 100));
                randomizerMenu.Add(new DynamicComboBox(ConfigDataType.Data, ConfigValue.RandomizerMaxDangerLevel, "Maximum Danger Level", (int)SpellDangerLevel.High, Enum.GetNames(typeof(SpellDangerLevel))));

                Menu bufferMenu = Menu.AddSubMenu("Adv. Humanizer", "ExtraBuffers");
                bufferMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.ExtraPingBuffer, "Extra Ping Buffer", 65, 0, 200));
                bufferMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.ExtraCpaDistance, "Extra Collision Distance", 10, 0, 150));
                bufferMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.ExtraSpellRadius, "Extra Spell Radius", 0, 0, 100));
                bufferMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.ExtraEvadeDistance, "Extra Evade Distance", 10, 0, 300));
                //bufferMenu.Add(ConfigValue.ExtraSpellRadius.Name(), new DynamicSlider(ConfigDataType.Data, ConfigValue.ExtraSpellRadius, "Extra Avoid Distance", 50, 0, 300).Slider);
                bufferMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.MinimumComfortZone, "Minimum Distance to Champions", 300, 0, 1000));

                Menu debugMenu = Menu.AddSubMenu("Debug", "DebugMenu");

                debugMenu.AddGroupLabel("Debug");
                debugMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.ShowDebugInfo, "Show Debug Info (Console)", false)).OnValueChange +=
                    (sender, changeArgs) =>
                {
                    ConsoleDebug.Enabled = sender.CurrentValue;
                };

                debugMenu.AddSeparator();

                _spellDrawer = new SpellDrawer(Menu);

                ConsoleDebug.WriteLineColor("   Hooking Events...", ConsoleColor.Yellow, true);
                Player.OnIssueOrder   += Game_OnIssueOrder;
                Spellbook.OnCastSpell += Game_OnCastSpell;
                Game.OnUpdate         += Game_OnGameUpdate;

                ConsoleDebug.WriteLineColor("   Loading Spells...", ConsoleColor.Yellow, true);
                SpellDetector.LoadSpellDictionary();
                SpellDetector.InitChannelSpells();

                AIHeroClient.OnProcessSpellCast += Game_OnProcessSpell;

                Game.OnEnd += Game_OnGameEnd;
                SpellDetector.OnProcessDetectedSpells += SpellDetector_OnProcessDetectedSpells;
                Orbwalker.OnPreAttack += Orbwalking_BeforeAttack;

                ConsoleDebug.WriteLineColor("   Setting Loaded Presets Values...", ConsoleColor.Yellow, true);
            }
            catch (Exception e)
            {
                ConsoleDebug.WriteLineColor(e, ConsoleColor.Red, true);
            }
            ConsoleDebug.WriteLineColor("Successfully Loaded!", ConsoleColor.Green, true);
        }
Example #16
0
        public Menu()
        {
            // Q
            MenuQ = Config.AddSubMenu("Q", "Q");
            MenuQ.Add("UseQ.Combo", new CheckBox("Combo"));
            MenuQ.Add("UseQ.Lane", new ComboBox("Lane Clear", 1, "Off", "On", "Only Siege/Super Minion"));
            MenuQ.Add("UseQ.Jungle", new ComboBox("Jungle Clear", 1, "Off", "On", "Only Big Mobs"));
            MenuQ.AddSeparator();
            MenuQ.AddGroupLabel("Min. Heal Settings:");
            MenuQ.Add("UseQ.Lane.MinHeal", new Slider("Lane Clear:", 30));
            MenuQ.Add("UseQ.Jungle.MinHeal", new Slider("Jungle Clear:", 30));

            // W
            MenuW = Config.AddSubMenu("W", "W");
            MenuW.Add("UseW.DamageRadius", new Slider("W Damage Radius Range (Default = 350):", 350, 250, 400));
            MenuW.AddSeparator();
            MenuW.Add("Allies.Active", new CheckBox("Combo"));
            MenuW.Add("Selected" + Utils.Player.Self.ChampionName, new ComboBox(Utils.Player.Self.ChampionName + " (Yourself)", Utils.TargetSelector.Ally.GetPriority(Utils.Player.Self.ChampionName), "Don't", "Combo", "Everytime"));
            MenuW.Add("SelectedGhost", new ComboBox("Dragon / Ghost Enemy", Utils.TargetSelector.Ally.GetPriority("Dragon"), "Don't", "Combo", "Everytime"));
            foreach (var ally in HeroManager.Allies.Where(a => !a.IsMe))
            {
                MenuW.Add("Selected" + ally.NetworkId, new ComboBox(ally.CharData.BaseSkinName, Utils.TargetSelector.Ally.GetPriority(ally.ChampionName), "Don't", "Combo", "Everytime"));
            }
            MenuW.AddSeparator();
            MenuW.AddGroupLabel("Lane / Jungle Settings:");
            MenuW.Add("UseW.Lane",
                new Slider("Lane Clear : (0 : Off | 1-6 : # of minions | 7 : Auto (Recommended))", 7, 0, 7));
            MenuW.Add("UseW.Jungle", new CheckBox("JungleClear"));
            MenuW.AddSeparator();
            MenuW.AddGroupLabel("Drawings");
            MenuW.Add("DrawW.Search", new CheckBox("W Range")); //.SetValue(new Circle(true, Color.Aqua)));
            MenuW.Add("DrawW.DamageRadius", new CheckBox("W Damage Radius"));

            // E
            MenuE = Config.AddSubMenu("E", "E");
            MenuE.Add("UseE.Combo", new CheckBox("Combo"));
            MenuE.Add("UseE.Harass", new CheckBox("Harass"));
            MenuE.Add("UseE.Lane", new CheckBox("Lane Clear"));
            MenuE.Add("UseE.Jungle", new CheckBox("Jungle Clear"));
            MenuE.AddSeparator();
            MenuE.AddGroupLabel("Toggle Settings:");
            MenuE.Add("UseE.Toggle", new KeyBind("E Toggle:", false, KeyBind.BindTypes.PressToggle, 'T'));
            MenuE.AddSeparator();
            MenuE.AddGroupLabel("Min. Heal Settings:");
            MenuE.Add("UseE.Harass.MinHeal", new Slider("Harass:", 30));
            MenuE.Add("UseE.Lane.MinHeal", new Slider("Lane Clear:", 30));
            MenuE.Add("UseE.Jungle.MinHeal", new Slider("Jungle Clear:", 30));
            MenuE.AddSeparator();
            MenuE.AddGroupLabel("Drawings");
            MenuE.Add("DrawE.Search", new CheckBox("E Range")); //.SetValue(new Circle(true, Color.Aqua)));

            // R
            MenuR = Config.AddSubMenu("R", "R");
            MenuR.Add("UseR.Active", new CheckBox("Use R"));
            foreach (var enemy in HeroManager.Enemies)
            {
                MenuR.Add("Selected" + enemy.NetworkId, new ComboBox(enemy.ChampionName, Utils.TargetSelector.Enemy.GetPriority(enemy.ChampionName), "Don't Use", "Low", "Medium", "High"));
            }

            MenuR.AddSeparator();
            MenuR.AddGroupLabel("Drawings");
            MenuR.Add("DrawR.Search", new CheckBox("R Skill Range")); //.SetValue(new Circle(true, Color.GreenYellow)));
            MenuR.Add("DrawR.Status.Show", new ComboBox("Targeting Notification:", 0, "Off", "On", "Only High Target"));

            //ghost
            MenuGhost = Config.AddSubMenu("Ghost");
            MenuGhost.AddGroupLabel("What do you want with the Ghost?");
            MenuGhost.Add("Ghost.Use", new ComboBox("Do this:", 1, "Nothing", "Fight w/ Me", "Attack High Prio Targs)"));
            MenuGhost.AddSeparator();
            MenuGhost.AddGroupLabel("Drawings");
            MenuGhost.Add("Ghost.Draw.Position", new CheckBox("Ghost Position"));
            MenuGhost.Add("Ghost.Draw.AARange", new CheckBox("Ghost AA Range"));
            MenuGhost.Add("Ghost.Draw.ControlRange", new CheckBox("Ghost Control Range"));

            //items
            MenuItems = Config.AddSubMenu("Items");
            MenuItems.AddGroupLabel("Use Items on This Mode:");
            MenuItems.Add("Items.Combo", new CheckBox("Combo"));
            MenuItems.Add("Items.Lane", new CheckBox("Lane Clear"));
            MenuItems.Add("Items.Jungle", new CheckBox("Jungle Clear"));

            //draws
            MenuDrawings = Config.AddSubMenu("Other Drawings", "Drawings");
            /* [ Damage After Combo ] */
            MenuDrawings.Add("Draw.Calc.Q", new CheckBox("Q Damage"));
            MenuDrawings.Add("Draw.Calc.W", new CheckBox("W Damage"));
            MenuDrawings.Add("Draw.Calc.E", new CheckBox("E Damage"));
            MenuDrawings.Add("Draw.Calc.R", new CheckBox("R Damage"));
            MenuDrawings.Add("Draw.Calc.I", new CheckBox("Ignite Damage"));
                //.SetFontStyle(FontStyle.Regular, SharpDX.Color.Aqua));
            MenuDrawings.Add("Draw.Calc.T", new CheckBox("Item Damage"));
                //.SetFontStyle(FontStyle.Regular, SharpDX.Color.Aqua));
            if (PlayerSpells.SmiteSlot != SpellSlot.Unknown)
            {
                MenuDrawings.Add("Calc.S", new CheckBox("Smite Damage"));
                    //.SetFontStyle(FontStyle.Regular, SharpDX.Color.Aqua));
            }
        }
Example #17
0
        private void Game_OnGameLoad(EventArgs args)
        {
            ConsoleDebug.WriteLineColor("Loading...", ConsoleColor.Blue, true);

            try
            {
                Menu = MainMenu.AddMenu("Evade", "Evade");
                ConsoleDebug.WriteLineColor("   Creating Menu...", ConsoleColor.Yellow, true);
                Menu.AddGroupLabel("Evade (EzEvade Port)");
                Menu.AddLabel("Please report any bugs or anything you think is a ");
                Menu.AddLabel("problem / issue, on the GitHub Issues Section, or with a reply to the Evade forum thread.");
                Menu.Add("OpenGithub", new CheckBox("Open Github's Issues Section in browser", false)).OnValueChange +=
                    delegate(ValueBase<bool> sender, ValueBase<bool>.ValueChangeArgs changeArgs)
                    {
                        if (changeArgs.OldValue == false && changeArgs.NewValue)
                        {
                            sender.CurrentValue = false;
                            Process.Start(@"https://github.com/coman3/EloBuddy.Addons/issues");
                        }
                    };
                Menu.AddLabel("All Credit for the actual evading (Movement and detection) in this assembly ");
                Menu.AddLabel("goes to the creator of EzEvade.");
                Menu.AddSeparator(100);

                Menu.AddLabel("Created By: Coman3");
                Menu.AddLabel("     Github: https://github.com/coman3/");
                Menu.Add("OpenGithubComan3", new CheckBox("Open Coman3's Github in Browser", false)).OnValueChange +=
                   delegate (ValueBase<bool> sender, ValueBase<bool>.ValueChangeArgs changeArgs)
                   {
                       if (changeArgs.OldValue == false && changeArgs.NewValue)
                       {
                           sender.CurrentValue = false;
                           Process.Start(@"https://github.com/coman3/");
                       }
                   };
                Menu.AddLabel("Last Update: " + LastUpdate);

                Menu mainMenu = Menu.AddSubMenu("Main", "Main");
                mainMenu.Add(new DynamicKeyBind(ConfigValue.DodgeSkillShots, "Dodge SkillShots", true, KeyBind.BindTypes.PressToggle, 'K'));
                mainMenu.Add(new DynamicKeyBind(ConfigValue.ActivateEvadeSpells, "Use Evade Spells", true, KeyBind.BindTypes.PressToggle, 'K'));
                mainMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.OnlyDodgeDangerous, "Dodge Only Dangerous", false));
                mainMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.DodgeFowSpells, "Dodge FOW SkillShots", false));
                mainMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.DodgeCircularSpells, "Dodge Circular SkillShots", true));
                mainMenu.AddSeparator();
                mainMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.DodgeDangerousKeysEnabled, "Enable Dodge Only Dangerous Keys", false));
                mainMenu.Add(new DynamicKeyBind(ConfigValue.DodgeDangerousKey1, "Dodge Only Dangerous Key", false, KeyBind.BindTypes.HoldActive, 32));
                mainMenu.Add(new DynamicKeyBind(ConfigValue.DodgeDangerousKey2, "Dodge Only Dangerous Key 2", false, KeyBind.BindTypes.HoldActive, 'V'));
                mainMenu.AddSeparator();
                mainMenu.Add(new DynamicComboBox(ConfigDataType.Data, ConfigValue.EvadeMode, "Evade Mode", 3, Enum.GetNames(typeof(EvadeMode))));

                ConsoleDebug.WriteLineColor("       Detecting Spells...", ConsoleColor.Yellow, true);
                SpellDetector = new SpellDetector(Menu);
                _evadeSpell = new EvadeSpell(Menu);

                ConsoleDebug.WriteLineColor("       Adding Humanizer and Miscellaneous Menus...", ConsoleColor.Yellow, true);
                Menu miscMenu = Menu.AddSubMenu("Misc Settings", "MiscSettings");
                miscMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.HighPrecision, "Enhanced Dodge Precision", false));
                miscMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.RecalculatePath, "Recalculate Path", true));
                miscMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.ContinueMovement, "Continue Last Movement", true));
                miscMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.CalculateWindupDelay, "Calculate Windup Delay", true));
                miscMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.CheckSpellCollision, "Check Spell Collision", false));
                miscMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.PreventDodgingUnderTower, "Prevent Dodging Under Tower", false));
                miscMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.PreventDodgingNearEnemy, "Prevent Dodging Near Enemies", true));
                miscMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.AdvancedSpellDetection, "Advanced Spell Detection", false));
                miscMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.ExtraDetectionRange, "Extra Detection Range", 1000, 500, 5000));
                //TODO: Add Reset
                //miscMenu.AddSeparator(100);
                //miscMenu.AddGroupLabel("Reset");
                //miscMenu.Add("ResetConfig", new DynamicCheckBox(ConfigDataType.Data, "ResetConfig", "Reset Properties", false).CheckBox);

                Menu fastEvadeMenu = Menu.AddSubMenu("Fast Evade", "FastEvade");
                fastEvadeMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.FastMovementBlock, "Fast Movement Block", false));
                fastEvadeMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.FastEvadeActivationTime, "FastEvade Activation Time", 65, 0, 500));
                fastEvadeMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.SpellActivationTime, "Spell Activation Time", 200, 0, 1000));
                fastEvadeMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.RejectMinDistance, "Collision Distance Buffer", 10, 0, 100));

                Menu limiterMenu = Menu.AddSubMenu("Humanizer", "Limiter");
                limiterMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.ClickOnlyOnce, "Click Only Once", true));
                limiterMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.EnableEvadeDistance, "Extended Evade", false));
                limiterMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.TickLimiter, "Tick Limiter", 100, 0, 500));
                limiterMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.SpellDetectionTime, "Spell Detection Time", 0, 0, 1000));
                limiterMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.ReactionTime, "Reaction Time", 200, 0, 500));
                limiterMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.DodgeInterval, "Dodge Interval", 0, 0, 2000));

                Menu randomizerMenu = Menu.AddSubMenu("Randomizer", "Randomizer");
                randomizerMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.EnableRandomizer, "Enable", false));
                randomizerMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.DrawBlockedRandomizerSpells, "Draw Blocked Spells", true));
                randomizerMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.RandomizerPercentage, "Accuracy", 100, 0, 100));
                randomizerMenu.Add(new DynamicComboBox(ConfigDataType.Data, ConfigValue.RandomizerMaxDangerLevel, "Maximum Danger Level", (int)SpellDangerLevel.High, Enum.GetNames(typeof(SpellDangerLevel))));

                Menu bufferMenu = Menu.AddSubMenu("Adv. Humanizer", "ExtraBuffers");
                bufferMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.ExtraPingBuffer, "Extra Ping Buffer", 65, 0, 200));
                bufferMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.ExtraCpaDistance, "Extra Collision Distance", 10, 0, 150));
                bufferMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.ExtraSpellRadius, "Extra Spell Radius", 0, 0, 100));
                bufferMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.ExtraEvadeDistance, "Extra Evade Distance", 10, 0, 300));
                //bufferMenu.Add(ConfigValue.ExtraSpellRadius.Name(), new DynamicSlider(ConfigDataType.Data, ConfigValue.ExtraSpellRadius, "Extra Avoid Distance", 50, 0, 300).Slider);
                bufferMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.MinimumComfortZone, "Minimum Distance to Champions", 300, 0, 1000));

                Menu debugMenu = Menu.AddSubMenu("Debug", "DebugMenu");

                debugMenu.AddGroupLabel("Debug");
                debugMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.ShowDebugInfo, "Show Debug Info (Console)", false)).OnValueChange +=
                    (sender, changeArgs) =>
                    {
                        ConsoleDebug.Enabled = sender.CurrentValue;
                    };

                debugMenu.AddSeparator();

                _spellDrawer = new SpellDrawer(Menu);

                ConsoleDebug.WriteLineColor("   Hooking Events...", ConsoleColor.Yellow, true);
                Player.OnIssueOrder += Game_OnIssueOrder;
                Spellbook.OnCastSpell += Game_OnCastSpell;
                Game.OnUpdate += Game_OnGameUpdate;

                ConsoleDebug.WriteLineColor("   Loading Spells...", ConsoleColor.Yellow, true);
                SpellDetector.LoadSpellDictionary();
                SpellDetector.InitChannelSpells();

                AIHeroClient.OnProcessSpellCast += Game_OnProcessSpell;

                Game.OnEnd += Game_OnGameEnd;
                SpellDetector.OnProcessDetectedSpells += SpellDetector_OnProcessDetectedSpells;
                Orbwalker.OnPreAttack += Orbwalking_BeforeAttack;

                ConsoleDebug.WriteLineColor("   Setting Loaded Presets Values...", ConsoleColor.Yellow, true);

            }
            catch (Exception e)
            {
                ConsoleDebug.WriteLineColor(e, ConsoleColor.Red, true);
            }
            ConsoleDebug.WriteLineColor("Successfully Loaded!", ConsoleColor.Green, true);
        }
Example #18
0
 private void Game_OnGameLoad_Disabled(EventArgs args)
 {
     ConsoleDebug.WriteLineColor("Failed loading Evade...", ConsoleColor.Red);
     ConsoleDebug.WriteLine("   Disabled due to needed core update (as of 5.24), please be patient!");
     Chat.Print("<font color='#ff0000'>Failed loading Evade...</font>");
     Chat.Print("   Disabled due to needed core update (as of 5.24), please be patient!");
     Menu = MainMenu.AddMenu("Evade (Disabled)", "Evade", "Evade (Disabled)");
     Menu.AddGroupLabel("Disabled due to needed core update!");
     Menu.AddLabel("As the latest update has caused issues with getting buffs and sending movement commands\n" +
                   " Evade can not be fixed.\n");
     Menu.AddSeparator();
     Menu.AddLabel("Please be patient for an update and in the mean time use EvadePlus");
 }
Example #19
0
            static Drawings()
            {
                DrawingsMenu = Menu.AddSubMenu("Drawings");

                DrawingsMenu.AddGroupLabel("Drawings settings : ");
                DrawingsMenu.AddSeparator(5);
                DrawingsMenu.Add("DrawPermashow", new CheckBox("Enable PermaShow"));
                DrawingsMenu.Add("HPBar", new CheckBox("Draw stacks on enemy"));
                DrawingsMenu.Add("HPBar.FontSize", new Slider("Font size : {0}", 15, 10, 25)).OnValueChange +=
                    delegate (ValueBase<int> sender, ValueBase<int>.ValueChangeArgs args)
                    {
                        sender.DisplayName = "Font size : {0} You need to F5 to make those changes take effect!";
                    };
                DrawingsMenu.AddSeparator();
                DrawingsMenu.Add("UltDuration", new CheckBox("Draw ult duration"));
                DrawingsMenu.Add("UltDuration.FontSize", new Slider("Font size : {0}", 18, 10, 25)).OnValueChange +=
                    delegate (ValueBase<int> sender, ValueBase<int>.ValueChangeArgs args)
                    {
                        sender.DisplayName = "Font size : {0} You need to F5 to make those changes take effect!";
                    };
                DrawingsMenu.AddSeparator();
                DrawingsMenu.Add("CurrentTarget", new CheckBox("Draw current target"));
                DrawingsMenu.Add("DangerousSpells", new CheckBox("Draw dangerous spells"));
                DrawingsMenu.AddSeparator(10);
                DrawingsMenu.Add("DangerousSpells.FontSize", new Slider("Dangerous spells font size : {0}", 15, 10, 25)).OnValueChange +=
                    delegate(ValueBase<int> sender, ValueBase<int>.ValueChangeArgs args)
                    {
                        sender.DisplayName = "Dangerous spells font size : {0} You need to F5 to make those changes take effect!";
                    };
                DrawingsMenu.Add("DangerousSpells.X", new Slider("DangerousSpells : X : {0}", (int)(Drawing.Width * 0.85f), 10, Drawing.Width));
                DrawingsMenu.Add("DangerousSpells.Y", new Slider("DangerousSpells : Y : {0}", (int)(Drawing.Height * 0.08f), 1, Drawing.Height));
            }
Example #20
0
            static TumbleMenu()
            {
                MenuTumble = Menu.AddSubMenu("Tumble");

                MenuTumble.AddGroupLabel("Tumble settings : ");
                MenuTumble.AddSeparator(5);

                MenuTumble.Add("Q.Mode", new ComboBox("Q Mode", new[] { "CursorPos", "Auto" }));
                MenuTumble.AddSeparator(5);
                MenuTumble.Add("Q.Gapcloser", new CheckBox("Use Q as a gapcloser if enemy is escaping", false));
                MenuTumble.AddLabel("Uses Q as a gapcloser if an enemy is escaping and is killable from an empovered autoattack");
                MenuTumble.AddSeparator(5);
                MenuTumble.Add("Q.Backwards", new CheckBox("Use Q on gapclosers", false));
                MenuTumble.AddLabel("Uses Q backwards when enemy is using a high danger level gapcloser on you");
                MenuTumble.AddSeparator(5);
                MenuTumble.Add("Q.DangerousSpells", new CheckBox("Take into account dangerous spells", false));
                MenuTumble.AddLabel("Takes into account dangerous spells / gapclosers while checking if tumble position is dangerous");
                MenuTumble.AddSeparator(5);
                MenuTumble.Add("Q.To2StacksOnly", new CheckBox("Use Q only on 2 W stacks", false));
                MenuTumble.AddLabel("Uses Q only if an enemy has 2 W stacks.");
                MenuTumble.Add("Q.BlockQIfEnemyIsOutsideRange", new CheckBox("Block Q if enemy will leave range", false));
                MenuTumble.AddLabel("Block Q if enemy is outside my AutoAttack range. Only for Auto tumble mode.");
                MenuTumble.AddSeparator(5);
                MenuTumble.Add("Q.IgnoreAllChecks", new KeyBind("Ignore all safety checks", false, KeyBind.BindTypes.PressToggle, 'H')).OnValueChange +=
                    delegate (ValueBase<bool> sender, ValueBase<bool>.ValueChangeArgs args)
                    {
                        Helpers.PrintInfoMessage(args.NewValue ? "Ignore all safety checks : <font color =\"#32BA1A\"><b>Enabled</b></font>" : "Ignore all safety checks : <font color =\"#E02007\"><b>Disabled</b></font>", false);
                    };
                MenuTumble.AddLabel("Ignores all safety checks. Casts Q to your cursor position whenever possible");
            }
Example #21
0
            static Misc()
            {
                MiscMenu = Menu.AddSubMenu("Misc");

                MiscMenu.AddGroupLabel("Misc settings : ");
                MiscMenu.AddSeparator(5);

                MiscMenu.Add("NoAAWhileStealth", new KeyBind("Dont AutoAttack while stealth", false, KeyBind.BindTypes.PressToggle, 'T')).OnValueChange +=
                    delegate(ValueBase<bool> sender, ValueBase<bool>.ValueChangeArgs args)
                    {
                        Helpers.PrintInfoMessage(args.NewValue ? "Dont attack while stealth : <font color =\"#32BA1A\"><b>Enabled</b></font>" : "Dont attack while stealth : <font color =\"#E02007\"><b>Disabled</b></font>", false);
                    };
                MiscMenu.Add("NoAADelay", new Slider("Delay", 1000, 0, 1000));
                MiscMenu.Add("NoAAEnemies", new Slider("Only if {0} or more enemies are nearby", 2, 1, 5));
                MiscMenu.AddSeparator(40);

                MiscMenu.AddGroupLabel("SkinHack settings : ");
                MiscMenu.AddSeparator(5);

                MiscMenu.Add("SkinHack", new CheckBox("Use SkinHack", false)).OnValueChange +=
                    delegate (ValueBase<bool> sender, ValueBase<bool>.ValueChangeArgs args)
                    {
                        Player.SetSkin(Player.Instance.BaseSkinName, args.NewValue ? SkinId : 0);
                    };

                MiscMenu.Add("SkinID", new ComboBox("Skin : ", VanyeSkinNames)).OnValueChange +=
                    delegate
                    {
                        if (MiscMenu["SkinHack"].Cast<CheckBox>().CurrentValue)
                            Player.SetSkin(Player.Instance.BaseSkinName, SkinId);
                    };
                MiscMenu.Add("Permashow.X", new Slider("Permashow position X: ", 15, 0, Drawing.Width)).OnValueChange +=
                    delegate(ValueBase<int> sender, ValueBase<int>.ValueChangeArgs args)
                    {
                        PermaShow.Position[0] = args.NewValue;
                    };
                MiscMenu.Add("Permashow.Y", new Slider("Permashow position Y: ", (int)(Drawing.Height * 0.08f), 0, Drawing.Height)).OnValueChange +=
                    delegate (ValueBase<int> sender, ValueBase<int>.ValueChangeArgs args)
                    {
                        PermaShow.Position[1] = args.NewValue;
                    };
            }
Example #22
0
            static CondemnMenu()
            {
                MenuCondemn = Menu.AddSubMenu("Condemn");

                MenuCondemn.AddGroupLabel("Condemn settings : ");
                MenuCondemn.AddSeparator(5);

                MenuCondemn.Add("Enabled", new CheckBox("Use E to stun"));
                MenuCondemn.Add("Keybind.E", new KeyBind("Use E after next autoattack", false, KeyBind.BindTypes.PressToggle, 'E'));
                MenuCondemn.Add("Keybind.FlashCondemn", new KeyBind("Flash condemn", false, KeyBind.BindTypes.HoldActive, 'G'));
                MenuCondemn.AddSeparator();
                MenuCondemn.Add("E.Mode", new ComboBox("E Mode", new []{"Always", "Only in Combo"}));
                MenuCondemn.Add("E.Method", new ComboBox("E Method", new[] { "Accurate", "Fast"}));
                MenuCondemn.Add("E.Targetting", new ComboBox("E Targetting mode", new[] { "Everyone", "Current target" }));
                MenuCondemn.Add("E.PushDistance", new Slider("Push distance", 420, 380, 470));
                MenuCondemn.AddSeparator(5);

                MenuCondemn.AddGroupLabel("Execute settings : ");
                MenuCondemn.AddSeparator(5);

                MenuCondemn.Add("E.Execute", new CheckBox("Use E to execute"));
                MenuCondemn.Add("E.Execute.Mode", new ComboBox("Execute mode", new[] { "Only after AutoAttack", "Always" }));
                MenuCondemn.Add("E.Execute.Enemies", new Slider("Use E to execute only if {0} or less enemies are near", 2, 1, 5));
                MenuCondemn.AddSeparator(5);

                MenuCondemn.AddGroupLabel("Use condemn on : ");
                MenuCondemn.AddSeparator(5);

                foreach (var enemy in EntityManager.Heroes.Enemies)
                {
                    MenuCondemn.Add("Enabled." + enemy.ChampionName.ToLower(), new CheckBox(enemy.ChampionName));
                }
            }
Example #23
0
        public Menu()
        {
            // Q
            MenuQ = Config.AddSubMenu("Q", "Q");
            MenuQ.Add("UseQ.Combo", new CheckBox("Combo"));
            MenuQ.Add("UseQ.Lane", new ComboBox("Lane Clear", 1, "Off", "On", "Only Siege/Super Minion"));
            MenuQ.Add("UseQ.Jungle", new ComboBox("Jungle Clear", 1, "Off", "On", "Only Big Mobs"));
            MenuQ.AddSeparator();
            MenuQ.AddGroupLabel("Min. Heal Settings:");
            MenuQ.Add("UseQ.Lane.MinHeal", new Slider("Lane Clear:", 30));
            MenuQ.Add("UseQ.Jungle.MinHeal", new Slider("Jungle Clear:", 30));

            // W
            MenuW = Config.AddSubMenu("W", "W");
            MenuW.Add("UseW.DamageRadius", new Slider("W Damage Radius Range (Default = 350):", 350, 250, 400));
            MenuW.AddSeparator();
            MenuW.Add("Allies.Active", new CheckBox("Combo"));
            MenuW.Add("Selected" + Utils.Player.Self.ChampionName,
                      new ComboBox(Utils.Player.Self.ChampionName + " (Yourself)",
                                   Utils.TargetSelector.Ally.GetPriority(Utils.Player.Self.ChampionName), "Don't", "Combo", "Everytime"));
            MenuW.Add("SelectedGhost",
                      new ComboBox("Dragon / Ghost Enemy", Utils.TargetSelector.Ally.GetPriority("Dragon"), "Don't", "Combo",
                                   "Everytime"));
            foreach (var ally in HeroManager.Allies.Where(a => !a.IsMe))
            {
                MenuW.Add("Selected" + ally.ChampionName,
                          new ComboBox(ally.CharData.BaseSkinName, Utils.TargetSelector.Ally.GetPriority(ally.ChampionName),
                                       "Don't", "Combo", "Everytime"));
            }
            MenuW.AddSeparator();
            MenuW.AddGroupLabel("Lane / Jungle Settings:");
            MenuW.Add("UseW.Lane",
                      new Slider("Lane Clear : (0 : Off | 1-6 : # of minions | 7 : Auto (Recommended))", 7, 0, 7));
            MenuW.Add("UseW.Jungle", new CheckBox("JungleClear"));
            MenuW.AddSeparator();
            MenuW.AddGroupLabel("Drawings");
            MenuW.Add("DrawW.Search", new CheckBox("W Range")); //.SetValue(new Circle(true, Color.Aqua)));
            MenuW.Add("DrawW.DamageRadius", new CheckBox("W Damage Radius"));
            //.SetValue(new Circle(true, Color.Coral)));

            // E
            MenuE = Config.AddSubMenu("E", "E");
            MenuE.Add("UseE.Combo", new CheckBox("Combo"));
            MenuE.Add("UseE.Harass", new CheckBox("Harass"));
            MenuE.Add("UseE.Lane", new CheckBox("Lane Clear"));
            MenuE.Add("UseE.Jungle", new CheckBox("Jungle Clear"));
            MenuE.AddSeparator();
            MenuE.AddGroupLabel("Toggle Settings:");
            MenuE.Add("UseE.Toggle", new KeyBind("E Toggle:", false, KeyBind.BindTypes.PressToggle, 'T'));
            MenuE.AddSeparator();
            MenuE.AddGroupLabel("Min. Heal Settings:");
            MenuE.Add("UseE.Harass.MinHeal", new Slider("Harass:", 30));
            MenuE.Add("UseE.Lane.MinHeal", new Slider("Lane Clear:", 30));
            MenuE.Add("UseE.Jungle.MinHeal", new Slider("Jungle Clear:", 30));
            MenuE.AddSeparator();
            MenuE.AddGroupLabel("Drawings");
            MenuE.Add("DrawE.Search", new CheckBox("E Range")); //.SetValue(new Circle(true, Color.Aqua)));

            // R
            MenuR = Config.AddSubMenu("R", "R");
            MenuR.Add("UseR.Active", new CheckBox("Use R"));
            foreach (var enemy in HeroManager.Enemies)
            {
                MenuR.Add("Selected" + enemy.ChampionName,
                          new ComboBox(enemy.ChampionName, Utils.TargetSelector.Enemy.GetPriority(enemy.ChampionName),
                                       "Don't Use", "Low", "Medium", "High"));
                //.SetValue(new StringList(new[] { "Don't Use", "Low", "Medium", "High" }, Utils.TargetSelector.Enemy.GetPriority(enemy.ChampionName))));
            }

            MenuR.AddSeparator();
            MenuR.AddGroupLabel("Drawings");
            MenuR.Add("DrawR.Search", new CheckBox("R Skill Range")); //.SetValue(new Circle(true, Color.GreenYellow)));
            MenuR.Add("DrawR.Status.Show", new ComboBox("Targeting Notification:", 0, "Off", "On", "Only High Target"));

            //ghost
            MenuGhost = Config.AddSubMenu("Ghost");
            MenuGhost.AddGroupLabel("What do you want with the Ghost?");
            MenuGhost.Add("Ghost.Use", new ComboBox("Do this:", 1, "Nothing", "Fight w/ Me", "Attack High Prio Targs)"));
            MenuGhost.AddSeparator();
            MenuGhost.AddGroupLabel("Drawings");
            MenuGhost.Add("Ghost.Draw.Position", new CheckBox("Ghost Position"));
            //.SetValue(new Circle(true, Color.DarkRed)));
            MenuGhost.Add("Ghost.Draw.AARange", new CheckBox("Ghost AA Range"));
            //.SetValue(new Circle(true, Color.DarkRed)));
            MenuGhost.Add("Ghost.Draw.ControlRange", new CheckBox("Ghost Control Range"));
            //.SetValue(new Circle(true, Color.WhiteSmoke)));

            //items
            MenuItems = Config.AddSubMenu("Items");
            MenuItems.AddGroupLabel("Use Items on This Mode:");
            MenuItems.Add("Items.Combo", new CheckBox("Combo"));
            MenuItems.Add("Items.Lane", new CheckBox("Lane Clear"));
            MenuItems.Add("Items.Jungle", new CheckBox("Jungle Clear"));

            //draws
            MenuDrawings = Config.AddSubMenu("Other Drawings", "Drawings");
            /* [ Damage After Combo ] */
            MenuDrawings.Add("Draw.Calc.Q", new CheckBox("Q Damage"));
            MenuDrawings.Add("Draw.Calc.W", new CheckBox("W Damage"));
            MenuDrawings.Add("Draw.Calc.E", new CheckBox("E Damage"));
            MenuDrawings.Add("Draw.Calc.R", new CheckBox("R Damage"));
            MenuDrawings.Add("Draw.Calc.I", new CheckBox("Ignite Damage"));
            //.SetFontStyle(FontStyle.Regular, SharpDX.Color.Aqua));
            MenuDrawings.Add("Draw.Calc.T", new CheckBox("Item Damage"));
            //.SetFontStyle(FontStyle.Regular, SharpDX.Color.Aqua));
            if (PlayerSpells.SmiteSlot != SpellSlot.Unknown)
            {
                MenuDrawings.Add("Calc.S", new CheckBox("Smite Damage"));
                //.SetFontStyle(FontStyle.Regular, SharpDX.Color.Aqua));
            }
        }
Example #24
0
        private void Game_OnGameLoad(EventArgs args)
        {
            ConsoleDebug.WriteLineColor("Loading...", ConsoleColor.Blue, true);
            ConfigPluginControler.LoadConfigPresets();

            try
            {
                Menu = MainMenu.AddMenu("EzEvade", "ezEvade");
                ConsoleDebug.WriteLineColor("   Creating Menu...", ConsoleColor.Yellow, true);
                Menu.AddGroupLabel("EzEvade (EzEvade By Ka)");



                Menu.AddLabel("Last Update: " + LastUpdate);

                Menu mainMenu = Menu.AddSubMenu("Main", "Main");
                mainMenu.Add(ConfigValue.DodgeSkillShots.Name(), new DynamicKeyBind(ConfigValue.DodgeSkillShots, "Dodge SkillShots", true, KeyBind.BindTypes.PressToggle, 'K').KeyBind);
                mainMenu.Add(ConfigValue.ActivateEvadeSpells.Name(), new DynamicKeyBind(ConfigValue.ActivateEvadeSpells, "Use Evade Spells", true, KeyBind.BindTypes.PressToggle, 'K').KeyBind);
                mainMenu.Add(ConfigValue.OnlyDodgeDangerous.Name(), new DynamicCheckBox(ConfigDataType.Data, ConfigValue.OnlyDodgeDangerous, "Dodge Only Dangerous", false).CheckBox);
                mainMenu.Add(ConfigValue.DodgeFowSpells.Name(), new DynamicCheckBox(ConfigDataType.Data, ConfigValue.DodgeFowSpells, "Dodge FOW SkillShots", true).CheckBox);
                mainMenu.Add(ConfigValue.DodgeCircularSpells.Name(), new DynamicCheckBox(ConfigDataType.Data, ConfigValue.DodgeCircularSpells, "Dodge Circular SkillShots", true).CheckBox);
                mainMenu.AddSeparator();
                mainMenu.Add(ConfigValue.DodgeDangerousKeysEnabled.Name(), new DynamicCheckBox(ConfigDataType.Data, ConfigValue.DodgeDangerousKeysEnabled, "Enable Dodge Only Dangerous Keys", false).CheckBox);

                mainMenu.Add(ConfigValue.DodgeDangerousKey1.Name(), new DynamicKeyBind(ConfigValue.DodgeDangerousKey1, "Dodge Only Dangerous Key", false, KeyBind.BindTypes.HoldActive, 32).KeyBind);
                mainMenu.Add(ConfigValue.DodgeDangerousKey2.Name(), new DynamicKeyBind(ConfigValue.DodgeDangerousKey2, "Dodge Only Dangerous Key 2", false, KeyBind.BindTypes.HoldActive, 'V').KeyBind);

                mainMenu.AddSeparator();
                mainMenu.AddGroupLabel("EzEvade Mode");

                var sliderEvadeMode = new StringSlider(ConfigDataType.Data, "EzEvade", "EzEvade By Ka", 1, SpellConfigProperty.None, Enum.GetNames(typeof(EvadeMode)));
                sliderEvadeMode.Slider.Slider.OnValueChange += OnEvadeModeChange;
                mainMenu.Add("EzEvade", sliderEvadeMode.Slider.Slider);

                ConsoleDebug.WriteLineColor("       Detecting Spells...", ConsoleColor.Yellow, true);
                SpellDetector = new SpellDetector(Menu);
                _evadeSpell   = new EvadeSpell(Menu);

                ConsoleDebug.WriteLineColor("       Adding Humanizer and Miscellaneous Menus...", ConsoleColor.Yellow, true);
                Menu miscMenu = Menu.AddSubMenu("Misc Settings", "MiscSettings");
                miscMenu.Add(ConfigValue.HighPrecision.Name(), new DynamicCheckBox(ConfigDataType.Data, ConfigValue.HighPrecision, "Enhanced Dodge Precision", false).CheckBox);
                miscMenu.Add(ConfigValue.RecalculatePath.Name(), new DynamicCheckBox(ConfigDataType.Data, ConfigValue.RecalculatePath, "Recalculate Path", true).CheckBox);
                miscMenu.Add(ConfigValue.ContinueMovement.Name(), new DynamicCheckBox(ConfigDataType.Data, ConfigValue.ContinueMovement, "Continue Last Movement", true).CheckBox);
                miscMenu.Add(ConfigValue.CalculateWindupDelay.Name(), new DynamicCheckBox(ConfigDataType.Data, ConfigValue.CalculateWindupDelay, "Calculate Windup Delay", true).CheckBox);
                miscMenu.Add(ConfigValue.CheckSpellCollision.Name(), new DynamicCheckBox(ConfigDataType.Data, ConfigValue.CheckSpellCollision, "Check Spell Collision", false).CheckBox);
                miscMenu.Add(ConfigValue.PreventDodgingUnderTower.Name(), new DynamicCheckBox(ConfigDataType.Data, ConfigValue.PreventDodgingUnderTower, "Prevent Dodging Under Tower", false).CheckBox);
                miscMenu.Add(ConfigValue.PreventDodgingNearEnemy.Name(), new DynamicCheckBox(ConfigDataType.Data, ConfigValue.PreventDodgingNearEnemy, "Prevent Dodging Near Enemies", false).CheckBox);
                miscMenu.Add(ConfigValue.AdvancedSpellDetection.Name(), new DynamicCheckBox(ConfigDataType.Data, ConfigValue.AdvancedSpellDetection, "Advanced Spell Detection", false).CheckBox);
                miscMenu.Add(ConfigValue.ExtraDetectionRange.Name(), new DynamicSlider(ConfigDataType.Data, ConfigValue.ExtraDetectionRange, "Extra Detection Range", 500, 500, 5000).Slider);
                //TODO: Add Reset
                //miscMenu.AddSeparator(100);
                //miscMenu.AddGroupLabel("Reset");
                //miscMenu.Add("ResetConfig", new DynamicCheckBox(ConfigDataType.Data, "ResetConfig", "Reset Properties", false).CheckBox);

                Menu fastEvadeMenu = Menu.AddSubMenu("Fast EzEvade", "FastEvade");
                fastEvadeMenu.Add(ConfigValue.FastMovementBlock.Name(), new DynamicCheckBox(ConfigDataType.Data, ConfigValue.FastMovementBlock, "Fast Movement Block", true).CheckBox);
                fastEvadeMenu.Add(ConfigValue.FastEvadeActivationTime.Name(), new DynamicSlider(ConfigDataType.Data, ConfigValue.FastEvadeActivationTime, "FastEzEvade Activation Time", 65, 0, 500).Slider);
                fastEvadeMenu.Add(ConfigValue.SpellActivationTime.Name(), new DynamicSlider(ConfigDataType.Data, ConfigValue.SpellActivationTime, "Spell Activation Time", 200, 0, 1000).Slider);
                fastEvadeMenu.Add(ConfigValue.RejectMinDistance.Name(), new DynamicSlider(ConfigDataType.Data, ConfigValue.RejectMinDistance, "Collision Distance Buffer", 10, 0, 100).Slider);

                Menu limiterMenu = Menu.AddSubMenu("Humanizer", "Limiter");
                limiterMenu.Add(ConfigValue.ClickOnlyOnce.Name(), new DynamicCheckBox(ConfigDataType.Data, ConfigValue.ClickOnlyOnce, "Click Only Once", true).CheckBox);
                limiterMenu.Add(ConfigValue.EnableEvadeDistance.Name(), new DynamicCheckBox(ConfigDataType.Data, ConfigValue.EnableEvadeDistance, "Extended EzEvade", false).CheckBox);
                limiterMenu.Add(ConfigValue.TickLimiter.Name(), new DynamicSlider(ConfigDataType.Data, ConfigValue.TickLimiter, "Tick Limiter", 100, 0, 500).Slider);
                limiterMenu.Add(ConfigValue.SpellDetectionTime.Name(), new DynamicSlider(ConfigDataType.Data, ConfigValue.SpellDetectionTime, "Spell Detection Time", 0, 0, 1000).Slider);
                limiterMenu.Add(ConfigValue.ReactionTime.Name(), new DynamicSlider(ConfigDataType.Data, ConfigValue.ReactionTime, "Reaction Time", 0, 0, 500).Slider);
                limiterMenu.Add(ConfigValue.DodgeInterval.Name(), new DynamicSlider(ConfigDataType.Data, ConfigValue.DodgeInterval, "Dodge Interval", 0, 0, 2000).Slider);

                Menu bufferMenu = Menu.AddSubMenu("ExtraBuffers", "ExtraBuffers");
                bufferMenu.Add(ConfigValue.ExtraPingBuffer.Name(), new DynamicSlider(ConfigDataType.Data, ConfigValue.ExtraPingBuffer, "Extra Ping Buffer(hit by a lot of spells:increase)", 65, 0, 200).Slider);
                bufferMenu.Add(ConfigValue.ExtraCpaDistance.Name(), new DynamicSlider(ConfigDataType.Data, ConfigValue.ExtraCpaDistance, "Extra Collision Distance", 10, 0, 150).Slider);
                bufferMenu.Add(ConfigValue.ExtraSpellRadius.Name(), new DynamicSlider(ConfigDataType.Data, ConfigValue.ExtraSpellRadius, "Extra Spell Radius", 0, 0, 100).Slider);
                bufferMenu.Add(ConfigValue.ExtraEvadeDistance.Name(), new DynamicSlider(ConfigDataType.Data, ConfigValue.ExtraEvadeDistance, "Extra EzEvade Distance", 100, 0, 500).Slider);
                //bufferMenu.Add(ConfigValue.ExtraSpellRadius.Name(), new DynamicSlider(ConfigDataType.Data, ConfigValue.ExtraSpellRadius, "Extra Avoid Distance", 50, 0, 300).Slider);
                bufferMenu.Add(ConfigValue.MinimumComfortZone.Name(), new DynamicSlider(ConfigDataType.Data, ConfigValue.MinimumComfortZone, "Minimum Distance to Champions", 550, 0, 1000).Slider);


                Menu debugMenu = Menu.AddSubMenu("Debug", "DebugMenu");

                debugMenu.AddGroupLabel("Debug");
                debugMenu.Add(ConfigValue.ShowDebugInfo.Name(), new DynamicCheckBox(ConfigDataType.Data, ConfigValue.ShowDebugInfo, "Show Debug Info (Console)", false).CheckBox).OnValueChange +=
                    (sender, changeArgs) =>
                {
                    ConsoleDebug.Enabled = sender.CurrentValue;
                };
                //debugMenu.Add("DebugWithMySpells", new DynamicCheckBox(ConfigDataType.Data, "DebugWithMySpells", "Detect and draw my spells", false).CheckBox); //TODO: Remove From Addon

                debugMenu.AddSeparator();
                //debugMenu.Add(ConfigValue.EnableSpellTester.Name(), new DynamicCheckBox(ConfigDataType.Data, ConfigValue.EnableSpellTester, "Enable Spell Tester", false).CheckBox);
                //debugMenu.AddLabel("Press F5 after enabling / disabling the Spell Tester to load / unload it.");
                _spellDrawer = new SpellDrawer(Menu);

                ConsoleDebug.WriteLineColor("   Hooking Events...", ConsoleColor.Yellow, true);
                Player.OnIssueOrder   += Game_OnIssueOrder;
                Spellbook.OnCastSpell += Game_OnCastSpell;
                Game.OnUpdate         += Game_OnGameUpdate;

                ConsoleDebug.WriteLineColor("   Loading Spells...", ConsoleColor.Yellow, true);
                SpellDetector.LoadSpellDictionary();
                SpellDetector.InitChannelSpells();

                AIHeroClient.OnProcessSpellCast += Game_OnProcessSpell;

                Game.OnEnd += Game_OnGameEnd;
                SpellDetector.OnProcessDetectedSpells += SpellDetector_OnProcessDetectedSpells;
                Orbwalker.OnPreAttack += Orbwalking_BeforeAttack;

                Chat.Print(
                    "<font color='#23ADDB'>ezEvade Loading....</font><font color='#E81A0C'>Enjoy your game :-))");

                ConsoleDebug.WriteLineColor("   Setting Loaded Presets Values...", ConsoleColor.Yellow, true);
                ConfigPluginControler.SelectedPreset.LoadConfig();
            }
            catch (Exception)
            {
                Chat.Print("EzEvade Loading", Color.Red);
            }
            ConsoleDebug.WriteLineColor("Successfully Loaded!", ConsoleColor.Green, true);
        }
Example #25
0
        public Menu()
        {
            // Q
            MenuQ = Config.AddSubMenu("Q", "Q");
            MenuQ.Add("UseQ.Combo", new CheckBox("连招"));
            MenuQ.Add("UseQ.Lane", new ComboBox("清线", 1, "关闭", "开启", "只炮兵/超级兵"));
            MenuQ.Add("UseQ.Jungle", new ComboBox("清野", 1, "关闭", "开启", "只大型野怪"));
            MenuQ.AddSeparator();
            MenuQ.AddGroupLabel("最低治疗设置:");
            MenuQ.Add("UseQ.Lane.MinHeal", new Slider("清线:", 30));
            MenuQ.Add("UseQ.Jungle.MinHeal", new Slider("清野:", 30));

            // W
            MenuW = Config.AddSubMenu("W", "W");
            MenuW.Add("UseW.DamageRadius", new Slider("W 伤害半径 (预设 = 350):", 350, 250, 400));
            MenuW.AddSeparator();
            MenuW.Add("Allies.Active", new CheckBox("对友军使用"));
            MenuW.Add("Selected" + Utils.Player.Self.ChampionName, new ComboBox(Utils.Player.Self.ChampionName + " (自己)", Utils.TargetSelector.Ally.GetPriority(Utils.Player.Self.ChampionName), "不使用", "连招", "一直"));
            MenuW.Add("SelectedGhost", new ComboBox("龙 / 敌方幽灵", Utils.TargetSelector.Ally.GetPriority("龙"), "不使用", "连招", "一直"));
            foreach (var ally in HeroManager.Allies.Where(a => !a.IsMe))
            {
                MenuW.Add("Selected" + ally.NetworkId, new ComboBox(ally.CharData.BaseSkinName, Utils.TargetSelector.Ally.GetPriority(ally.ChampionName), "不使用", "连招", "一直"));
            }
            MenuW.AddSeparator();
            MenuW.AddGroupLabel("清线 / 清野设置:");
            MenuW.Add("UseW.Lane",
                      new Slider("权限 : (0 : 关闭 | 1-6 : # 个小兵 | 7 : 自动 (推荐))", 7, 0, 7));
            MenuW.Add("UseW.Jungle", new CheckBox("清野"));
            MenuW.AddSeparator();
            MenuW.AddGroupLabel("线圈");
            MenuW.Add("DrawW.Search", new CheckBox("W 范围")); //.SetValue(new Circle(true, Color.Aqua)));
            MenuW.Add("DrawW.DamageRadius", new CheckBox("W 伤害半径"));

            // E
            MenuE = Config.AddSubMenu("E", "E");
            MenuE.Add("UseE.Combo", new CheckBox("连招"));
            MenuE.Add("UseE.Harass", new CheckBox("骚扰"));
            MenuE.Add("UseE.Lane", new CheckBox("清线"));
            MenuE.Add("UseE.Jungle", new CheckBox("清野"));
            MenuE.AddSeparator();
            MenuE.AddGroupLabel("开关设置:");
            MenuE.Add("UseE.Toggle", new KeyBind("E 开关:", false, KeyBind.BindTypes.PressToggle, 'T'));
            MenuE.AddSeparator();
            MenuE.AddGroupLabel("最低治疗设置:");
            MenuE.Add("UseE.Harass.MinHeal", new Slider("骚扰:", 30));
            MenuE.Add("UseE.Lane.MinHeal", new Slider("清线:", 30));
            MenuE.Add("UseE.Jungle.MinHeal", new Slider("清野:", 30));
            MenuE.AddSeparator();
            MenuE.AddGroupLabel("线圈");
            MenuE.Add("DrawE.Search", new CheckBox("E 范围")); //.SetValue(new Circle(true, Color.Aqua)));

            // R
            MenuR = Config.AddSubMenu("R", "R");
            MenuR.Add("UseR.Active", new CheckBox("使用 R"));
            foreach (var enemy in HeroManager.Enemies)
            {
                MenuR.Add("Selected" + enemy.NetworkId, new ComboBox(enemy.ChampionName, Utils.TargetSelector.Enemy.GetPriority(enemy.ChampionName), "不使用", "低", "中", "高"));
            }

            MenuR.AddSeparator();
            MenuR.AddGroupLabel("线圈");
            MenuR.Add("DrawR.Search", new CheckBox("R 范围")); //.SetValue(new Circle(true, Color.GreenYellow)));
            MenuR.Add("DrawR.Status.Show", new ComboBox("目标提示:", 0, "关闭", "开启", "高,的目标"));

            //ghost
            MenuGhost = Config.AddSubMenu("幽灵");
            MenuGhost.AddGroupLabel("给予幽灵什么命令?");
            MenuGhost.Add("Ghost.Use", new ComboBox("命令:", 1, "什么都不做", "和我一起作战", "攻击重要目标"));
            MenuGhost.AddSeparator();
            MenuGhost.AddGroupLabel("线圈");
            MenuGhost.Add("Ghost.Draw.Position", new CheckBox("幽灵位置"));
            MenuGhost.Add("Ghost.Draw.AARange", new CheckBox("幽灵普攻范围"));
            MenuGhost.Add("Ghost.Draw.ControlRange", new CheckBox("幽灵控制范围"));

            //items
            MenuItems = Config.AddSubMenu("物品");
            MenuItems.AddGroupLabel("以下模式使用物品:");
            MenuItems.Add("Items.Combo", new CheckBox("连招"));
            MenuItems.Add("Items.Lane", new CheckBox("清线"));
            MenuItems.Add("Items.Jungle", new CheckBox("清野"));

            //draws
            MenuDrawings = Config.AddSubMenu("其他线圈", "Drawings");
            /* [ Damage After Combo ] */
            MenuDrawings.Add("Draw.Calc.Q", new CheckBox("Q 伤害"));
            MenuDrawings.Add("Draw.Calc.W", new CheckBox("W 伤害"));
            MenuDrawings.Add("Draw.Calc.E", new CheckBox("E 伤害"));
            MenuDrawings.Add("Draw.Calc.R", new CheckBox("R 伤害"));
            MenuDrawings.Add("Draw.Calc.I", new CheckBox("点燃 伤害"));
            //.SetFontStyle(FontStyle.Regular, SharpDX.Color.Aqua));
            MenuDrawings.Add("Draw.Calc.T", new CheckBox("物品伤害"));
            //.SetFontStyle(FontStyle.Regular, SharpDX.Color.Aqua));
            if (PlayerSpells.SmiteSlot != SpellSlot.Unknown)
            {
                MenuDrawings.Add("Calc.S", new CheckBox("惩戒伤害"));
                //.SetFontStyle(FontStyle.Regular, SharpDX.Color.Aqua));
            }
        }