コード例 #1
0
ファイル: Lucian.cs プロジェクト: chienhao10/EloBuddy-13
        public override void Init()
        {
            _q  = new Spell.Targeted(SpellSlot.Q, 675);
            _q1 = new Spell.Skillshot(SpellSlot.Q, 1150, SkillShotType.Linear, 250, int.MaxValue, 65)
            {
                AllowedCollisionCount = int.MaxValue
            };
            _w = new Spell.Skillshot(SpellSlot.W, 1150, SkillShotType.Linear, 250, 1600, 80);
            _e = new Spell.Skillshot(SpellSlot.E, 475, SkillShotType.Linear);
            _r = new Spell.Skillshot(SpellSlot.R, 1400, SkillShotType.Linear, 500, 2800, 110);

            MainMenu.ComboKeys(useR: false);
            MainMenu.Combo.AddGroupLabel("Combo Preferences", "combo.gl.pref", true);
            MainMenu.Combo.Add("combo.mode", new Slider("Combo Mode", 0, 0, 1)).OnValueChange += ModeSlider;
            Value.AdvancedMenuItemUiDs.Add("combo.mode");
            MainMenu.Combo["combo.mode"].IsVisible = MainMenu.Combo["combo.advanced"].Cast <CheckBox>().CurrentValue;
            MainMenu.Combo.Add("combo.speed", new Slider("Combo Speed", 0, 0, 2)).OnValueChange += SpeedSlider;
            Value.AdvancedMenuItemUiDs.Add("combo.speed");
            MainMenu.Combo["combo.speed"].IsVisible = MainMenu.Combo["combo.advanced"].Cast <CheckBox>().CurrentValue;
            MainMenu.Combo.AddSeparator();
            MainMenu.Combo.AddCheckBox("combo.eq", "Use Extended Q if Combo Mode = Normal", true, true);
            MainMenu.Combo.AddCheckBox("combo.wcol", "Check for W collision", false, true);
            MainMenu.Combo.AddCheckBox("combo.egap", "Use E to Gapclose (Not Recommended)", false, true);
            MainMenu.Combo.AddSeparator();
            MainMenu.Combo.Add("combo.emode", new Slider("E Mode: ", 0, 0, 1)).OnValueChange += ComboEModeSlider;
            Value.AdvancedMenuItemUiDs.Add("combo.emode");
            MainMenu.Combo["combo.emode"].Cast <Slider>().IsVisible =
                MainMenu.Combo["combo.advanced"].Cast <CheckBox>().CurrentValue;
            MainMenu.Combo.Add("combo.rbind",
                               new KeyBind("Semi-Auto R (No Lock)", false, KeyBind.BindTypes.HoldActive, 'T'))
            .OnValueChange += OnUltButton;
            Value.AdvancedMenuItemUiDs.Add("combo.rbind");
            MainMenu.Combo["combo.rbind"].IsVisible = MainMenu.Combo["combo.advanced"].Cast <CheckBox>().CurrentValue;

            MainMenu.HarassKeys(useR: false);
            MainMenu.Harass.AddGroupLabel("Harass Preferences", "harass.gl.pref", true);
            MainMenu.Harass.AddCheckBox("harass.eq", "Use Extended Q in Harass", true, true);
            MainMenu.Harass.AddCheckBox("harass.wcol", "Check for W collision", false, true);
            MainMenu.Harass.AddSeparator();
            MainMenu.Harass.Add("harass.emode", new Slider("E Mode: ", 0, 0, 1)).OnValueChange += HarassEModeSlider;
            Value.AdvancedMenuItemUiDs.Add("harass.emode");
            MainMenu.Harass["harass.emode"].IsVisible =
                MainMenu.Harass["harass.advanced"].Cast <CheckBox>().CurrentValue;
            MainMenu.Harass.AddSlider("harass.mana", "Mana Manager:", 60, 0, 100, true);

            MainMenu.JungleKeys(useR: false);
            MainMenu.Jungle.AddSlider("jungle.mana", "Mana Manager:", 80, 0, 100, true);

            MainMenu.LaneKeys(useR: false);
            MainMenu.Lane.AddGroupLabel("LaneClear Preferences", "lane.gl.pref", true);
            MainMenu.Lane.AddCheckBox("lane.qharass", "Q = Harass Enemies", false, true);
            MainMenu.Lane.AddSeparator();
            MainMenu.Lane.AddSlider("lane.minfarm", "Minions for Farm Q", 3, 0, 6, true);
            MainMenu.Lane.AddSlider("lane.mana", "Mana Manager:", 80, 0, 100, true);

            MainMenu.KsKeys(useW: false);

            MainMenu.DrawKeys(useW: false, useE: false);
            MainMenu.Draw.AddSeparator();
            MainMenu.Draw.AddLabel("W/Extended Q Settings");
            MainMenu.Draw.Add("draw.qw", new CheckBox("Draw W/Extended Q"));
            MainMenu.Draw.AddColorItem("color.qw");
            MainMenu.Draw.AddWidthItem("width.qw");
            MainMenu.DamageIndicator(true);

            MainMenu.FleeKeys(false, useW: false, useR: false);
            Value.Init();
            UpdateSlider(1);
            UpdateSlider(2);
            UpdateSlider(3);
            UpdateSlider(4);

            DamageIndicator.DamageToUnit += GetRawDamage;
            Drawing.OnDraw += Draw;
            if (MainMenu.Menu["useonupdate"].Cast <CheckBox>().CurrentValue)
            {
                Game.OnUpdate += Game_OnTick;
            }
            else
            {
                Game.OnTick += Game_OnTick;
            }
            Obj_AI_Base.OnProcessSpellCast += OnProcessSpellCast;
            Orbwalker.OnPostAttack         += OrbwalkerOnPostAttack;
        }
コード例 #2
0
        public override void Init()
        {
            try
            {
                try
                {
                    #region Spells

                    // Defining Spells
                    _q = new Spell.Targeted(SpellSlot.Q, 675);
                    _w = new Spell.Active(SpellSlot.W, 375);
                    _e = new Spell.Targeted(SpellSlot.E, 700);
                    _r = new Spell.Active(SpellSlot.R, 550);

                    #endregion
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                    Chat.Print(
                        "<font color='#23ADDB'>Marksman AIO:</font><font color='#E81A0C'> an error ocurred. (Code SPELL)</font>");
                }

                try
                {
                    #region Menu

                    var      combo = MainMenu.Combo;
                    string[] s     = { "QEWR", "EQWR" };

                    combo.AddStringList("combo.mode", "Mode: ", s, 1);
                    MainMenu.ComboKeys();
                    MainMenu.HarassKeys();
                    MainMenu.Harass.Add("harass.autow", new CheckBox("Use Auto W"));
                    MainMenu.Harass.Add("harass.donteunderturret", new CheckBox("Dont E Under Turret"));

                    MainMenu.FleeKeys(false, useW: false, useR: false);
                    MainMenu.Flee.Add("flee.ward", new CheckBox("Use Wardjump"));

                    MainMenu.LaneKeys(useR: false);
                    MainMenu.Lane.Add("lane.donteunderturret", new CheckBox("Dont E Under Turret"));

                    MainMenu.LastHitKeys(useR: false);
                    MainMenu.Lasthit.Add("lasthit.donteunderturret", new CheckBox("Dont E Under Turret"));

                    MainMenu.KsKeys();
                    MainMenu.Ks.Add("killsteal.ignite", new CheckBox("Use Ignite"));
                    MainMenu.Ks.Add("killsteal.donteunderturret", new CheckBox("Dont E Under Turret"));

                    MainMenu.DamageIndicator();
                    MainMenu.DrawKeys();
                    MainMenu.Draw.AddSeparator();

                    MainMenu.Draw.AddGroupLabel("Flash Settings");
                    MainMenu.Draw.Add("draw.flash", new CheckBox("Draw flash"));
                    MainMenu.Draw.AddColorItem("color.flash");
                    MainMenu.Draw.AddWidthItem("width.flash");
                    MainMenu.Draw.AddSeparator();

                    MainMenu.Draw.AddGroupLabel("Ignite Settings");
                    MainMenu.Draw.Add("draw.ignite", new CheckBox("Draw ignite"));
                    MainMenu.Draw.AddColorItem("color.ignite");
                    MainMenu.Draw.AddWidthItem("width.ignite");

                    _humanizerMenu = MainMenu.Menu.AddSubMenu("Humanizer Menu");
                    _humanizerMenu.AddGroupLabel("Q Settings");
                    _humanizerMenu.Add("min.q", new Slider("Min Q Delay", 0, 0, 50));
                    _humanizerMenu.Add("max.q", new Slider("Max Q Delay", 0, 0, 50));
                    _humanizerMenu.AddSeparator(10);

                    _humanizerMenu.AddGroupLabel("W Settings");
                    _humanizerMenu.Add("min.w", new Slider("Min W Delay", 0, 0, 50));
                    _humanizerMenu.Add("max.w", new Slider("Max W Delay", 0, 0, 50));
                    _humanizerMenu.AddSeparator(10);

                    _humanizerMenu.AddGroupLabel("E Settings");
                    _humanizerMenu.Add("min.e", new Slider("Min E Delay", 0, 0, 50));
                    _humanizerMenu.Add("max.e", new Slider("Max E Delay", 0, 0, 50));
                    _humanizerMenu.AddSeparator(10);

                    _humanizerMenu.AddGroupLabel("R Settings");
                    _humanizerMenu.Add("min.r", new Slider("Min R Delay", 4, 0, 50));
                    _humanizerMenu.Add("max.r", new Slider("Max R Delay", 4, 0, 50));
                    _humanizerMenu.AddSeparator(10);

                    #endregion
                }

                catch (Exception e)
                {
                    Console.WriteLine(e);
                    Chat.Print(
                        "<font color='#23ADDB'>Marksman AIO:</font><font color='#E81A0C'> an error ocurred. (Code MENU)</font>");
                }

                #region UtilityInit

                Obj_AI_Base.OnBuffGain      += OnBuffGain;
                Obj_AI_Base.OnBuffLose      += OnBuffLose;
                DamageIndicator.DamageToUnit = GetActualRawComboDamage;
                Value.Init();
                Value.MenuList.Add(_humanizerMenu);
                Drawing.OnDraw += DrawRanges;

                #region MenuValueChange

                _humanizerMenu["min.q"].Cast <Slider>().OnValueChange += delegate
                {
                    if (_humanizerMenu["min.q"].Cast <Slider>().CurrentValue >
                        _humanizerMenu["max.q"].Cast <Slider>().CurrentValue)
                    {
                        _humanizerMenu["min.q"].Cast <Slider>().CurrentValue =
                            _humanizerMenu["max.q"].Cast <Slider>().CurrentValue;
                    }
                };
                _humanizerMenu["max.q"].Cast <Slider>().OnValueChange += delegate
                {
                    if (_humanizerMenu["max.q"].Cast <Slider>().CurrentValue <
                        _humanizerMenu["min.q"].Cast <Slider>().CurrentValue)
                    {
                        _humanizerMenu["max.q"].Cast <Slider>().CurrentValue =
                            _humanizerMenu["min.q"].Cast <Slider>().CurrentValue;
                    }
                };
                _humanizerMenu["min.w"].Cast <Slider>().OnValueChange += delegate
                {
                    if (_humanizerMenu["min.w"].Cast <Slider>().CurrentValue >
                        _humanizerMenu["max.w"].Cast <Slider>().CurrentValue)
                    {
                        _humanizerMenu["min.w"].Cast <Slider>().CurrentValue =
                            _humanizerMenu["max.w"].Cast <Slider>().CurrentValue;
                    }
                };
                _humanizerMenu["max.w"].Cast <Slider>().OnValueChange += delegate
                {
                    if (_humanizerMenu["max.w"].Cast <Slider>().CurrentValue <
                        _humanizerMenu["min.w"].Cast <Slider>().CurrentValue)
                    {
                        _humanizerMenu["max.w"].Cast <Slider>().CurrentValue =
                            _humanizerMenu["min.w"].Cast <Slider>().CurrentValue;
                    }
                };
                _humanizerMenu["min.e"].Cast <Slider>().OnValueChange += delegate
                {
                    if (_humanizerMenu["min.e"].Cast <Slider>().CurrentValue >
                        _humanizerMenu["max.e"].Cast <Slider>().CurrentValue)
                    {
                        _humanizerMenu["min.e"].Cast <Slider>().CurrentValue =
                            _humanizerMenu["max.e"].Cast <Slider>().CurrentValue;
                    }
                };
                _humanizerMenu["max.e"].Cast <Slider>().OnValueChange += delegate
                {
                    if (_humanizerMenu["max.e"].Cast <Slider>().CurrentValue <
                        _humanizerMenu["min.e"].Cast <Slider>().CurrentValue)
                    {
                        _humanizerMenu["max.e"].Cast <Slider>().CurrentValue =
                            _humanizerMenu["min.e"].Cast <Slider>().CurrentValue;
                    }
                };
                _humanizerMenu["min.r"].Cast <Slider>().OnValueChange += delegate
                {
                    if (_humanizerMenu["min.r"].Cast <Slider>().CurrentValue >
                        _humanizerMenu["max.r"].Cast <Slider>().CurrentValue)
                    {
                        _humanizerMenu["min.r"].Cast <Slider>().CurrentValue =
                            _humanizerMenu["max.r"].Cast <Slider>().CurrentValue;
                    }
                };
                _humanizerMenu["max.r"].Cast <Slider>().OnValueChange += delegate
                {
                    if (_humanizerMenu["max.r"].Cast <Slider>().CurrentValue <
                        _humanizerMenu["min.r"].Cast <Slider>().CurrentValue)
                    {
                        _humanizerMenu["max.r"].Cast <Slider>().CurrentValue =
                            _humanizerMenu["min.r"].Cast <Slider>().CurrentValue;
                    }
                };

                #endregion

                #endregion
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                Chat.Print(
                    "<font color='#23ADDB'>Marksman AIO:</font><font color='#E81A0C'> an error ocurred. (Code 503)</font>");
            }

            Game.OnUpdate += delegate
            {
                try
                {
                    #region AutoW

                    if (_isUlting)
                    {
                        return;
                    }
                    if (MainMenu.Harass["harass.autow"].Cast <CheckBox>().CurrentValue)
                    {
                        var e = EntityManager.Heroes.Enemies.Where(ee => !ee.IsDead && ee.IsValid);
                        foreach (var enemy in e)
                        {
                            if (_w.IsInRange(enemy) && _w.IsReady())
                            {
                                _w.Cast();
                            }
                        }
                    }

                    #endregion

                    _isChannelingImportantSpell = ext.IsChannelingImportantSpell(Player.Instance);
                    KillSteal();
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                    Chat.Print(
                        "<font color='#23ADDB'>Marksman AIO:</font><font color='#E81A0C'> san error ocurred. (Code 5)</font>");
                }
                //KillSteal();
            };
        }
コード例 #3
0
ファイル: Katarina.cs プロジェクト: newchild/OKTRAIO
        public override void Init()
        {
            try
            {
                try
                {
                    #region Spells
                    // Defining Spells
                    _q = new Spell.Targeted(SpellSlot.Q, 675);
                    _w = new Spell.Active(SpellSlot.W, 375);
                    _e = new Spell.Targeted(SpellSlot.E, 700);
                    _r = new Spell.Active(SpellSlot.R, 550);
                    #endregion
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                    Chat.Print("<font color='#23ADDB'>Marksman AIO:</font><font color='#E81A0C'> an error ocurred. (Code SPELL)</font>");
                }

                try
                {
                    #region Menu
                    var combo = MainMenu._combo;
                    string[] s = { "QEWR", "EQWR" };

                    combo.AddStringList("combo.mode", "Mode: ", s, 1);
                    MainMenu.ComboKeys(true, true, true, true);
                    MainMenu.HarassKeys(true, true, true, true);
                    MainMenu._harass.Add("harass.autow", new CheckBox("Use Auto W"));
                    MainMenu._harass.Add("harass.donteunderturret", new CheckBox("Dont E Under Turret"));

                    MainMenu.FleeKeys(false, false, true, false);
                    MainMenu._flee.Add("flee.ward", new CheckBox("Use Wardjump"));

                    MainMenu.LaneKeys(true, true, true, false);
                    MainMenu._lane.Add("lane.donteunderturret", new CheckBox("Dont E Under Turret"));

                    MainMenu.LastHitKeys(true, true, true, false);
                    MainMenu._lasthit.Add("lasthit.donteunderturret", new CheckBox("Dont E Under Turret"));

                    MainMenu.KsKeys(true, true, true, true);
                    MainMenu._ks.Add("killsteal.ignite", new CheckBox("Use Ignite"));
                    MainMenu._ks.Add("killsteal.donteunderturret", new CheckBox("Dont E Under Turret"));

                    MainMenu.DamageIndicator();
                    MainMenu.DrawKeys(true, true, true, true);
                    MainMenu._draw.AddSeparator();

                    MainMenu._draw.AddGroupLabel("Flash Settings");
                    MainMenu._draw.Add("draw.flash", new CheckBox("Draw flash"));
                    MainMenu._draw.AddColorItem("color.flash");
                    MainMenu._draw.AddWidthItem("width.flash");
                    MainMenu._draw.AddSeparator();

                    MainMenu._draw.AddGroupLabel("Ignite Settings");
                    MainMenu._draw.Add("draw.ignite", new CheckBox("Draw ignite"));
                    MainMenu._draw.AddColorItem("color.ignite");
                    MainMenu._draw.AddWidthItem("width.ignite");

                    _humanizerMenu = MainMenu._menu.AddSubMenu("Humanizer Menu");
                    _humanizerMenu.AddGroupLabel("Q Settings");
                    _humanizerMenu.Add("min.q", new Slider("Min Q Delay", 0, 0, 50));
                    _humanizerMenu.Add("max.q", new Slider("Max Q Delay", 0, 0, 50));
                    _humanizerMenu.AddSeparator(10);

                    _humanizerMenu.AddGroupLabel("W Settings");
                    _humanizerMenu.Add("min.w", new Slider("Min W Delay", 0, 0, 50));
                    _humanizerMenu.Add("max.w", new Slider("Max W Delay", 0, 0, 50));
                    _humanizerMenu.AddSeparator(10);

                    _humanizerMenu.AddGroupLabel("E Settings");
                    _humanizerMenu.Add("min.e", new Slider("Min E Delay", 0, 0, 50));
                    _humanizerMenu.Add("max.e", new Slider("Max E Delay", 0, 0, 50));
                    _humanizerMenu.AddSeparator(10);

                    _humanizerMenu.AddGroupLabel("R Settings");
                    _humanizerMenu.Add("min.r", new Slider("Min R Delay", 4, 0, 50));
                    _humanizerMenu.Add("max.r", new Slider("Max R Delay", 4, 0, 50));
                    _humanizerMenu.AddSeparator(10);

                    #endregion
                }

                catch (Exception e)
                {
                    Console.WriteLine(e);
                    Chat.Print("<font color='#23ADDB'>Marksman AIO:</font><font color='#E81A0C'> an error ocurred. (Code MENU)</font>");
                }

                #region UtilityInit
                Obj_AI_Base.OnBuffGain += OnBuffGain;
                Obj_AI_Base.OnBuffLose += OnBuffLose;
                DamageIndicator.DamageToUnit = GetActualRawComboDamage;
                Value.Init();
                Value.MenuList.Add(_humanizerMenu);
                Drawing.OnDraw += DrawRanges;

                #region MenuValueChange
                _humanizerMenu["min.q"].Cast<Slider>().OnValueChange += delegate
                {
                    if (_humanizerMenu["min.q"].Cast<Slider>().CurrentValue > _humanizerMenu["max.q"].Cast<Slider>().CurrentValue)
                        _humanizerMenu["min.q"].Cast<Slider>().CurrentValue = _humanizerMenu["max.q"].Cast<Slider>().CurrentValue;
                };
                _humanizerMenu["max.q"].Cast<Slider>().OnValueChange += delegate
                {
                    if (_humanizerMenu["max.q"].Cast<Slider>().CurrentValue < _humanizerMenu["min.q"].Cast<Slider>().CurrentValue)
                        _humanizerMenu["max.q"].Cast<Slider>().CurrentValue = _humanizerMenu["min.q"].Cast<Slider>().CurrentValue;
                };
                _humanizerMenu["min.w"].Cast<Slider>().OnValueChange += delegate
                {
                    if (_humanizerMenu["min.w"].Cast<Slider>().CurrentValue > _humanizerMenu["max.w"].Cast<Slider>().CurrentValue)
                        _humanizerMenu["min.w"].Cast<Slider>().CurrentValue = _humanizerMenu["max.w"].Cast<Slider>().CurrentValue;
                };
                _humanizerMenu["max.w"].Cast<Slider>().OnValueChange += delegate
                {
                    if (_humanizerMenu["max.w"].Cast<Slider>().CurrentValue < _humanizerMenu["min.w"].Cast<Slider>().CurrentValue)
                        _humanizerMenu["max.w"].Cast<Slider>().CurrentValue = _humanizerMenu["min.w"].Cast<Slider>().CurrentValue;
                };
                _humanizerMenu["min.e"].Cast<Slider>().OnValueChange += delegate
                {
                    if (_humanizerMenu["min.e"].Cast<Slider>().CurrentValue > _humanizerMenu["max.e"].Cast<Slider>().CurrentValue)
                        _humanizerMenu["min.e"].Cast<Slider>().CurrentValue = _humanizerMenu["max.e"].Cast<Slider>().CurrentValue;
                };
                _humanizerMenu["max.e"].Cast<Slider>().OnValueChange += delegate
                {
                    if (_humanizerMenu["max.e"].Cast<Slider>().CurrentValue < _humanizerMenu["min.e"].Cast<Slider>().CurrentValue)
                        _humanizerMenu["max.e"].Cast<Slider>().CurrentValue = _humanizerMenu["min.e"].Cast<Slider>().CurrentValue;
                };
                _humanizerMenu["min.r"].Cast<Slider>().OnValueChange += delegate
                {
                    if (_humanizerMenu["min.r"].Cast<Slider>().CurrentValue > _humanizerMenu["max.r"].Cast<Slider>().CurrentValue)
                        _humanizerMenu["min.r"].Cast<Slider>().CurrentValue = _humanizerMenu["max.r"].Cast<Slider>().CurrentValue;
                };
                _humanizerMenu["max.r"].Cast<Slider>().OnValueChange += delegate
                {
                    if (_humanizerMenu["max.r"].Cast<Slider>().CurrentValue < _humanizerMenu["min.r"].Cast<Slider>().CurrentValue)
                        _humanizerMenu["max.r"].Cast<Slider>().CurrentValue = _humanizerMenu["min.r"].Cast<Slider>().CurrentValue;
                };
                #endregion
                #endregion
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                Chat.Print("<font color='#23ADDB'>Marksman AIO:</font><font color='#E81A0C'> an error ocurred. (Code 503)</font>");
            }

            Game.OnUpdate += delegate
            {
                try
                {
                    #region AutoW
                    if (_isUlting) return;
                    if (MainMenu._harass["harass.autow"].Cast<CheckBox>().CurrentValue)
                    {
                        var e = EntityManager.Heroes.Enemies.Where(ee => !ee.IsDead && ee.IsValid);
                        foreach (var enemy in e)
                        {
                            if (_w.IsInRange(enemy) && _w.IsReady())
                            {
                                _w.Cast(); 
                            }
                        }
                    }
                    #endregion

                    _isChannelingImportantSpell = ext.IsChannelingImportantSpell(Player.Instance);
                    KillSteal();
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                    Chat.Print("<font color='#23ADDB'>Marksman AIO:</font><font color='#E81A0C'> san error ocurred. (Code 5)</font>");
                }
                //KillSteal();
            };
        }
コード例 #4
0
ファイル: Lucian.cs プロジェクト: newchild/OKTRAIO
        public override void Init()
        {
            _q = new Spell.Targeted(SpellSlot.Q, 675);
            _q1 = new Spell.Skillshot(SpellSlot.Q, 1150, SkillShotType.Linear, 250, int.MaxValue, 65)
            {
                AllowedCollisionCount = int.MaxValue
            };
            _w = new Spell.Skillshot(SpellSlot.W, 1150, SkillShotType.Linear, 250, 1600, 80);
            _e = new Spell.Skillshot(SpellSlot.E, 475, SkillShotType.Linear);
            _r = new Spell.Skillshot(SpellSlot.R, 1400, SkillShotType.Linear, 500, 2800, 110);

            MainMenu.ComboKeys(true, true, true, false);
            MainMenu._combo.AddGroupLabel("Combo Preferences", "combo.gl.pref", true);
            MainMenu._combo.Add("combo.mode", new Slider("Combo Mode", 0, 0, 1)).OnValueChange += ModeSlider;
            Value.AdvancedMenuItemUiDs.Add("combo.mode");
            MainMenu._combo["combo.mode"].IsVisible = MainMenu._combo["combo.advanced"].Cast<CheckBox>().CurrentValue;
            MainMenu._combo.Add("combo.speed", new Slider("Combo Speed", 0, 0, 2)).OnValueChange += SpeedSlider;
            Value.AdvancedMenuItemUiDs.Add("combo.speed");
            MainMenu._combo["combo.speed"].IsVisible = MainMenu._combo["combo.advanced"].Cast<CheckBox>().CurrentValue;
            MainMenu._combo.AddSeparator();
            MainMenu._combo.AddCheckBox("combo.eq", "Use Extended Q if Combo Mode = Normal", true, true);
            MainMenu._combo.AddCheckBox("combo.wcol", "Check for W collision", false, true);
            MainMenu._combo.AddCheckBox("combo.egap", "Use E to Gapclose (Not Recommended)", false, true);
            MainMenu._combo.AddSeparator();
            MainMenu._combo.Add("combo.emode", new Slider("E Mode: ", 0, 0, 2)).OnValueChange += ComboEModeSlider;
            Value.AdvancedMenuItemUiDs.Add("combo.emode");
            MainMenu._combo["combo.emode"].Cast<Slider>().IsVisible = MainMenu._combo["combo.advanced"].Cast<CheckBox>().CurrentValue;
            MainMenu._combo.Add("combo.rbind",
                new KeyBind("Semi-Auto R (No Lock)", false, KeyBind.BindTypes.HoldActive, 'T'))
                .OnValueChange += OnUltButton;
            Value.AdvancedMenuItemUiDs.Add("combo.rbind");
            MainMenu._combo["combo.rbind"].IsVisible = MainMenu._combo["combo.advanced"].Cast<CheckBox>().CurrentValue;

            MainMenu.HarassKeys(true, true, true, false);
            MainMenu._harass.AddGroupLabel("Harass Preferences", "harass.gl.pref", true);
            MainMenu._harass.AddCheckBox("harass.eq", "Use Extended Q in Harass", true, true);
            MainMenu._harass.AddCheckBox("harass.wcol", "Check for W collision", false, true);
            MainMenu._harass.AddSeparator();
            MainMenu._harass.Add("harass.emode", new Slider("E Mode: ", 0, 0, 2)).OnValueChange += HarassEModeSlider;
            Value.AdvancedMenuItemUiDs.Add("harass.emode");
            MainMenu._harass["harass.emode"].IsVisible = MainMenu._harass["harass.advanced"].Cast<CheckBox>().CurrentValue;
            MainMenu._harass.AddSlider("harass.mana", "Mana Manager:", 60, 0, 100, true);

            MainMenu.JungleKeys(true, true, true, false);
            MainMenu._jungle.AddSlider("jungle.mana", "Mana Manager:", 80, 0, 100, true);

            MainMenu.LaneKeys(true, true, true, false);
            MainMenu._lane.AddGroupLabel("LaneClear Preferences", "lane.gl.pref", true);
            MainMenu._lane.AddCheckBox("lane.qharass", "Q = Harass Enemies", false, true);
            MainMenu._lane.AddSeparator();
            MainMenu._lane.AddSlider("lane.minfarm", "Minions for Farm Q", 3, 0, 6, true);
            MainMenu._lane.AddSlider("lane.mana", "Mana Manager:", 80, 0, 100, true);

            MainMenu.KsKeys(true, false, true, false);

            MainMenu.DrawKeys(true, false, false, true);
            MainMenu._draw.AddSeparator();
            MainMenu._draw.AddLabel("W/Extended Q Settings");
            MainMenu._draw.Add("draw.qw", new CheckBox("Draw W/Extended Q"));
            MainMenu._draw.AddColorItem("color.qw");
            MainMenu._draw.AddWidthItem("width.qw");
            MainMenu.DamageIndicator(true);
            
            MainMenu.FleeKeys(false, false, true, false);
            Value.Init();
            UpdateSlider(1);
            UpdateSlider(2);
            UpdateSlider(3);
            UpdateSlider(4);

            DamageIndicator.DamageToUnit += GetRawDamage;
            Drawing.OnDraw += Draw;
            if (MainMenu._menu["useonupdate"].Cast<CheckBox>().CurrentValue)
            {
                Game.OnUpdate += Game_OnTick;
            }
            else
            {
                Game.OnTick += Game_OnTick;
            }
            Obj_AI_Base.OnProcessSpellCast += OnProcessSpellCast;
            Orbwalker.OnPostAttack += OrbwalkerOnPostAttack;
        }