Exemple #1
0
        public override void Execute()
        {
            if (Player.Instance.IsRecalling())
            {
                return;                                //Why this requires overload
            }
            if (Player.Instance.IsDead)
            {
                return;                         //And this doesnt, is beyond me.
            }
            if ((E.IsReady() && Settings.UseE && !Player.Instance.IsInShopRange() && Player.Instance.ManaPercent > Settings.EMP && (Player.Instance.HealthPercent < Settings.EHP || EntityManager.Heroes.Allies.Any(ally => ally.HealthPercent < Settings.EHP && Player.Instance.Distance(ally) <= 550))))
            {
                E.Cast();
            }
            if (
                R.IsReady() && Settings.UseR &&
                (
                    Player.HasBuffOfType(BuffType.Fear) || Player.HasBuffOfType(BuffType.Silence) || Player.HasBuffOfType(BuffType.Snare) ||
                    Player.HasBuffOfType(BuffType.Stun) || Player.HasBuffOfType(BuffType.Charm) || Player.HasBuffOfType(BuffType.Blind) ||
                    Player.HasBuffOfType(BuffType.Taunt)
                )
                )
            {
                R.Cast();
            }

            if (Config.Modes.Insec.InsecKey)
            {
                AIHeroClient target = TargetSelector.GetTarget(W.Range, DamageType.Magical);
                InsecManager.Insec(target);
            }
            else
            {
                InsecManager.InsecState = 0;
            }
        }
Exemple #2
0
        public static void OnDraw(EventArgs args)
        {
            var newTarget = Misc.GetMenuItem("insecMode")
                                ? (TargetSelector.GetSelectedTarget()
                                   ?? TargetSelector.GetTarget(
                                       LeeSin.spells[LeeSin.Spells.Q].Range,
                                       TargetSelector.DamageType.Physical))
                                : TargetSelector.GetTarget(
                LeeSin.spells[LeeSin.Spells.Q].Range,
                TargetSelector.DamageType.Physical);

            if (InsecManager.ClicksecEnabled && Misc.GetMenuItem("clickInsec"))
            {
                Render.Circle.DrawCircle(InsecManager.InsecClickPos, 100, Color.DeepSkyBlue);
            }

            var playerPos = Drawing.WorldToScreen(ObjectManager.Player.Position);

            if (Misc.GetMenuItem("ElLeeSin.Draw.Insec.Text"))
            {
                Drawing.DrawText(playerPos.X, playerPos.Y + 40, Color.White, "Flash Insec enabled");
            }

            if (Misc.GetMenuItem("Draw.Insec.Lines"))
            {
                if ((newTarget != null) && newTarget.IsVisible && newTarget.IsValidTarget() && !newTarget.IsDead &&
                    (ObjectManager.Player.Distance(newTarget) < 3000))
                {
                    Vector2 targetPos = Drawing.WorldToScreen(newTarget.Position);
                    Drawing.DrawLine(
                        InsecManager.InsecLinePos.X,
                        InsecManager.InsecLinePos.Y,
                        targetPos.X,
                        targetPos.Y,
                        3,
                        Color.Gold);

                    Drawing.DrawText(
                        Drawing.WorldToScreen(newTarget.Position).X - 40,
                        Drawing.WorldToScreen(newTarget.Position).Y + 10,
                        Color.White,
                        "Selected Target");

                    Drawing.DrawCircle(InsecManager.GetInsecPos(newTarget), 100, Color.DeepSkyBlue);
                }
            }

            if (!Misc.GetMenuItem("DrawEnabled"))
            {
                return;
            }

            foreach (var t in ObjectManager.Get <AIHeroClient>())
            {
                if (t.HasBuff("BlindMonkQOne") || t.HasBuff("blindmonkqonechaos"))
                {
                    Drawing.DrawCircle(t.Position, 200, Color.Red);
                }
            }

            if (MyMenu.Menu.Item("ElLeeSin.Wardjump").GetValue <KeyBind>().Active &&
                Misc.GetMenuItem("ElLeeSin.Draw.WJDraw"))
            {
                Render.Circle.DrawCircle(Wardmanager.JumpPos.To3D(), 20, Color.Red);
                Render.Circle.DrawCircle(ObjectManager.Player.Position, 600, Color.Red);
            }
            if (Misc.GetMenuItem("ElLeeSin.Draw.Q"))
            {
                Render.Circle.DrawCircle(
                    ObjectManager.Player.Position,
                    LeeSin.spells[LeeSin.Spells.Q].Range - 80,
                    LeeSin.spells[LeeSin.Spells.Q].IsReady() ? Color.LightSkyBlue : Color.Tomato);
            }
            if (Misc.GetMenuItem("ElLeeSin.Draw.W"))
            {
                Render.Circle.DrawCircle(
                    ObjectManager.Player.Position,
                    LeeSin.spells[LeeSin.Spells.W].Range - 80,
                    LeeSin.spells[LeeSin.Spells.W].IsReady() ? Color.LightSkyBlue : Color.Tomato);
            }
            if (Misc.GetMenuItem("ElLeeSin.Draw.E"))
            {
                Render.Circle.DrawCircle(
                    ObjectManager.Player.Position,
                    LeeSin.spells[LeeSin.Spells.E].Range - 80,
                    LeeSin.spells[LeeSin.Spells.E].IsReady() ? Color.LightSkyBlue : Color.Tomato);
            }
            if (Misc.GetMenuItem("ElLeeSin.Draw.R"))
            {
                Render.Circle.DrawCircle(
                    ObjectManager.Player.Position,
                    LeeSin.spells[LeeSin.Spells.R].Range - 80,
                    LeeSin.spells[LeeSin.Spells.R].IsReady() ? Color.LightSkyBlue : Color.Tomato);
            }
        }
Exemple #3
0
        private static void Obj_AI_Base_OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
        {
            try
            {
                if (!sender.IsMe)
                {
                    return;
                }

                switch (args.Slot)
                {
                case SpellSlot.Q:
                    if (!args.SData.Name.ToLower().Contains("one"))
                    {
                        isInQ2 = true;
                    }
                    break;

                case SpellSlot.W:
                    if (args.SData.Name.ToLower().Contains("one"))
                    {
                        LastW = Environment.TickCount;
                    }
                    break;
                }

                switch (args.SData.Name.ToLower())
                {
                case "blindmonkqone":
                    castQAgain = false;
                    LeagueSharp.Common.Utility.DelayAction.Add(2900, () => { castQAgain = true; });
                    break;

                case "blindmonkqtwo":
                    waitingForQ2 = true;
                    LastQ2       = Environment.TickCount;
                    LeagueSharp.Common.Utility.DelayAction.Add(2900, () => { CheckQ = true; });
                    LeagueSharp.Common.Utility.DelayAction.Add(3000, () => { waitingForQ2 = false; });
                    break;

                case "blindmonkrkick":
                    InsecManager.insecComboStep = InsecManager.InsecComboStepSelect.None;
                    break;
                }

                if (spells[Spells.R].IsReady() &&
                    (ObjectManager.Player.Spellbook.CanUseSpell(flashSlot) == SpellState.Ready))
                {
                    var target = Misc.GetMenuItem("insecMode")
                                     ? TargetSelector.GetSelectedTarget()
                                     : TargetSelector.GetTarget(
                        spells[Spells.R].Range,
                        TargetSelector.DamageType.Physical);

                    if (target == null)
                    {
                        return;
                    }

                    if (args.SData.Name.Equals("BlindMonkRKick", StringComparison.InvariantCultureIgnoreCase) &&
                        MyMenu.Menu.Item("ElLeeSin.Insec.UseInstaFlash").GetValue <KeyBind>().Active)
                    {
                        LeagueSharp.Common.Utility.DelayAction.Add(
                            80,
                            () => ObjectManager.Player.Spellbook.CastSpell(flashSlot, InsecManager.GetInsecPos(target)));
                    }
                }

                if (args.SData.Name.Equals("summonerflash", StringComparison.InvariantCultureIgnoreCase) &&
                    (InsecManager.insecComboStep != InsecManager.InsecComboStepSelect.None))
                {
                    var target = Misc.GetMenuItem("insecMode")
                                     ? TargetSelector.GetSelectedTarget()
                                     : TargetSelector.GetTarget(
                        spells[Spells.Q].Range,
                        TargetSelector.DamageType.Physical);

                    if (target == null)
                    {
                        return;
                    }

                    InsecManager.insecComboStep = InsecManager.InsecComboStepSelect.Pressr;

                    LeagueSharp.Common.Utility.DelayAction.Add(80, () => spells[Spells.R].CastOnUnit(target));
                }

                foreach (var buff in buffNames)
                {
                    if (buff.Equals(args.SData.Name.ToLower(), StringComparison.InvariantCultureIgnoreCase))
                    {
                        PassiveStacks     = 2;
                        lastSpellCastTime = Environment.TickCount;
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occurred: '{0}'", e);
            }
        }
Exemple #4
0
        public LeeSin()
        {
            var spellConfig = new SpellConfig();

            spellConfig.Load();

            var insecManager = new InsecManager(spellConfig);

            var wardtracker = new WardTracker(spellConfig);
            var wardmanager = new WardManager(wardtracker);

            var wardjump  = new WardJump(wardtracker, wardmanager, spellConfig);
            var insec     = new Insec(wardtracker, wardmanager, spellConfig, insecManager);
            var kickFlash = new KickFlash(spellConfig, insecManager);

            var combo = new Combo(wardmanager, spellConfig, wardtracker);

            var harass      = new Harass(wardmanager, spellConfig);
            var jungle      = new JungleClear(wardmanager, spellConfig);
            var lane        = new LaneClear(spellConfig);
            var lasthit     = new Lasthit(spellConfig);
            var killsteal   = new Killsteal(spellConfig);
            var drawManager = new DrawManager(spellConfig, insecManager, new Dmg(spellConfig));

            var mainmenu = new Menu("main", "Adept AIO", true);

            mainmenu.Attach();

            spellConfig.InsecMode     = new OrbwalkerMode("Insec", KeyCode.T, Global.TargetSelector.GetSelectedTarget, insec.OnKeyPressed);
            spellConfig.WardjumpMode  = new OrbwalkerMode("Wardjump", KeyCode.G, null, wardjump.OnKeyPressed);
            spellConfig.KickFlashMode = new OrbwalkerMode("Kick Flash", KeyCode.A, null, kickFlash.OnKeyPressed);

            spellConfig.InsecMode.MenuItem.OnValueChanged     += (sender, args) => insec.Enabled = args.GetNewValue <MenuKeyBind>().Value;
            spellConfig.WardjumpMode.MenuItem.OnValueChanged  += (sender, args) => wardjump.Enabled = args.GetNewValue <MenuKeyBind>().Value;
            spellConfig.KickFlashMode.MenuItem.OnValueChanged += (sender, args) => kickFlash.Enabled = args.GetNewValue <MenuKeyBind>().Value;

            Global.Orbwalker.AddMode(spellConfig.InsecMode);
            Global.Orbwalker.AddMode(spellConfig.WardjumpMode);
            Global.Orbwalker.AddMode(spellConfig.KickFlashMode);
            Global.Orbwalker.Attach(mainmenu);

            var insecMenu     = new Menu("Insec", "Insec");
            var insecBk       = new MenuKeyBind("BK", "Bubba Kush Toggle", KeyCode.L, KeybindType.Toggle);
            var insecF        = new MenuBool("Flash", "Enable Flash");
            var insecObject   = new MenuBool("Object", "Use Q On Minions").SetToolTip("Uses Q to gapclose to every minion");
            var insecQLast    = new MenuBool("Last", "Use Q After Insec").SetToolTip("Only possible if no minions near target");
            var insecPosition = new MenuList("Position",
                                             "Insec Position",
                                             new[]
            {
                "Ally Turret",
                "Ally Hero"
            },
                                             0);
            var insecKick = new MenuList("Kick",
                                         "Kick Type: ",
                                         new[]
            {
                "Flash R",
                "R Flash"
            },
                                         1);

            insecMenu.Add(insecBk);
            insecMenu.Add(insecF);
            insecMenu.Add(insecObject);
            insecMenu.Add(insecQLast);
            insecMenu.Add(insecPosition);
            insecMenu.Add(insecKick);
            mainmenu.Add(insecMenu);

            Temp.IsBubbaKush                = insec.Bk = insecMenu["BK"].Enabled;
            insec.FlashEnabled              = insecMenu["Flash"].Enabled;
            insec.ObjectEnabled             = insecMenu["Object"].Enabled;
            insec.QLast                     = insecMenu["Last"].Enabled;
            insecManager.InsecPositionValue = insecMenu["Position"].Value;
            insecManager.InsecKickValue     = insecMenu["Kick"].Value;

            insecBk.OnValueChanged += (sender, args) =>
            {
                insec.Bk         = args.GetNewValue <MenuKeyBind>().Value;
                Temp.IsBubbaKush = args.GetNewValue <MenuKeyBind>().Value;
            };

            insecF.OnValueChanged        += (sender, args) => insec.FlashEnabled = args.GetNewValue <MenuBool>().Value;
            insecObject.OnValueChanged   += (sender, args) => insec.ObjectEnabled = args.GetNewValue <MenuBool>().Value;
            insecQLast.OnValueChanged    += (sender, args) => insec.QLast = args.GetNewValue <MenuBool>().Value;
            insecPosition.OnValueChanged += (sender, args) => insecManager.InsecPositionValue = args.GetNewValue <MenuList>().Value;
            insecKick.OnValueChanged     += (sender, args) => insecManager.InsecKickValue = args.GetNewValue <MenuList>().Value;

            var comboMenu   = new Menu("Combo", "Combo");
            var comboTurret = new MenuBool("Turret", "Don't Q2 Into Turret");
            var comboQ      = new MenuBool("Q", "Use Q");
            var comboQ2     = new MenuBool("Q2", "Use Q2");
            var comboW      = new MenuBool("W", "Use W");
            var comboWard   = new MenuBool("Ward", "Use Wards");
            var comboE      = new MenuBool("E", "Use E");

            foreach (var b in new List <MenuBool>
            {
                comboTurret,
                comboQ,
                comboQ2,
                comboW,
                comboWard,
                comboE
            })
            {
                comboMenu.Add(b);
            }
            mainmenu.Add(comboMenu);

            combo.TurretCheckEnabled = comboMenu["Turret"].Enabled;
            combo.Q1Enabled          = comboMenu["Q"].Enabled;
            combo.Q2Enabled          = comboMenu["Q2"].Enabled;
            combo.WEnabled           = comboMenu["W"].Enabled;
            combo.WardEnabled        = comboMenu["Ward"].Enabled;
            combo.EEnabled           = comboMenu["E"].Enabled;

            comboTurret.OnValueChanged += (sender, args) => combo.TurretCheckEnabled = args.GetNewValue <MenuBool>().Value;
            comboQ.OnValueChanged      += (sender, args) => combo.Q1Enabled = args.GetNewValue <MenuBool>().Value;
            comboQ2.OnValueChanged     += (sender, args) => combo.Q2Enabled = args.GetNewValue <MenuBool>().Value;
            comboW.OnValueChanged      += (sender, args) => combo.WEnabled = args.GetNewValue <MenuBool>().Value;
            comboWard.OnValueChanged   += (sender, args) => combo.WardEnabled = args.GetNewValue <MenuBool>().Value;
            comboE.OnValueChanged      += (sender, args) => combo.EEnabled = args.GetNewValue <MenuBool>().Value;

            var harassMenu = new Menu("Harass", "Harass");
            var harassQ    = new MenuBool("Q", "Use Q");
            var harassQ2   = new MenuBool("Q2", "Use Q2");
            var harassMode = new MenuList("Mode",
                                          "W Mode: ",
                                          new[]
            {
                "Away",
                "W Self"
            },
                                          0);
            var harassE  = new MenuBool("E", "Use E");
            var harassE2 = new MenuBool("E2", "Use E2");

            harassMenu.Add(harassQ);
            harassMenu.Add(harassQ2);
            harassMenu.Add(harassMode);
            harassMenu.Add(harassE);
            harassMenu.Add(harassE2);
            mainmenu.Add(harassMenu);

            harass.Q1Enabled = harassMenu["Q"].Enabled;
            harass.Q2Enabled = harassMenu["Q2"].Enabled;
            harass.Mode      = harassMenu["Mode"].Value;
            harass.EEnabled  = harassMenu["E"].Enabled;
            harass.E2Enabled = harassMenu["E2"].Enabled;

            harassQ.OnValueChanged    += (sender, args) => harass.Q1Enabled = args.GetNewValue <MenuBool>().Value;
            harassQ2.OnValueChanged   += (sender, args) => harass.Q2Enabled = args.GetNewValue <MenuBool>().Value;
            harassMode.OnValueChanged += (sender, args) => harass.Mode = args.GetNewValue <MenuList>().Value;
            harassE.OnValueChanged    += (sender, args) => harass.EEnabled = args.GetNewValue <MenuBool>().Value;
            harassE2.OnValueChanged   += (sender, args) => harass.E2Enabled = args.GetNewValue <MenuBool>().Value;

            var jungleMenu  = new Menu("Jungle", "Jungle");
            var jungleSteal = new MenuBool("Steal", "Steal Legendary");
            var jungleSmite = new MenuBool("Smite", "Smite Big Mobs");
            var jungleBlue  = new MenuBool("Blue", "Smite Blue Buff");
            var jungleQ     = new MenuBool("Q", "Q");
            var jungleW     = new MenuBool("W", "W");
            var jungleE     = new MenuBool("E", "E");

            foreach (var b in new List <MenuBool>
            {
                jungleSteal,
                jungleSmite,
                jungleBlue,
                jungleQ,
                jungleW,
                jungleE
            })
            {
                jungleMenu.Add(b);
            }
            mainmenu.Add(jungleMenu);

            jungle.StealEnabled = jungleMenu["Steal"].Enabled;
            jungle.SmiteEnabled = jungleMenu["Smite"].Enabled;
            jungle.BlueEnabled  = jungleMenu["Blue"].Enabled;
            jungle.Q1Enabled    = jungleMenu["Q"].Enabled;
            jungle.WEnabled     = jungleMenu["W"].Enabled;
            jungle.EEnabled     = jungleMenu["E"].Enabled;

            jungleSteal.OnValueChanged += (sender, args) => jungle.StealEnabled = args.GetNewValue <MenuBool>().Value;
            jungleSmite.OnValueChanged += (sender, args) => jungle.Q1Enabled = args.GetNewValue <MenuBool>().Value;
            jungleBlue.OnValueChanged  += (sender, args) => jungle.BlueEnabled = args.GetNewValue <MenuBool>().Value;
            jungleQ.OnValueChanged     += (sender, args) => jungle.Q1Enabled = args.GetNewValue <MenuBool>().Value;
            jungleW.OnValueChanged     += (sender, args) => jungle.WEnabled = args.GetNewValue <MenuBool>().Value;
            jungleE.OnValueChanged     += (sender, args) => jungle.EEnabled = args.GetNewValue <MenuBool>().Value;

            var laneMenu  = new Menu("Lane", "Lane");
            var laneCheck = new MenuBool("Check", "Don't Clear When Enemies Nearby");
            var laneQ     = new MenuBool("Q", "Q");
            var laneW     = new MenuBool("W", "W");
            var laneE     = new MenuBool("E", "E");

            foreach (var b in new List <MenuBool>
            {
                laneCheck,
                laneQ,
                laneW,
                laneE
            })
            {
                laneMenu.Add(b);
            }
            mainmenu.Add(laneMenu);

            lane.CheckEnabled = laneMenu["Check"].Enabled;
            lane.Q1Enabled    = laneMenu["Q"].Enabled;
            lane.WEnabled     = laneMenu["W"].Enabled;
            lane.EEnabled     = laneMenu["E"].Enabled;

            laneCheck.OnValueChanged += (sender, args) => lane.CheckEnabled = args.GetNewValue <MenuBool>().Value;
            laneQ.OnValueChanged     += (sender, args) => lane.Q1Enabled = args.GetNewValue <MenuBool>().Value;
            laneW.OnValueChanged     += (sender, args) => lane.WEnabled = args.GetNewValue <MenuBool>().Value;
            laneE.OnValueChanged     += (sender, args) => lane.EEnabled = args.GetNewValue <MenuBool>().Value;

            var lasthitMenu    = new Menu("Lasthit", "Lasthit");
            var lasthitEnabled = new MenuBool("Enabled", "Enabled");

            lasthitMenu.Add(lasthitEnabled);
            mainmenu.Add(lasthitMenu);
            lasthit.Enabled = lasthitMenu["Enabled"].Enabled;
            lasthitEnabled.OnValueChanged += (sender, args) => lasthit.Enabled = args.GetNewValue <MenuBool>().Value;

            var ksMenu   = new Menu("Killsteal", "Killsteal");
            var ksIgnite = new MenuBool("Ignite", "Ignite");
            var ksSmite  = new MenuBool("Smite", "Smite");
            var ksQ      = new MenuBool("Q", "Q");
            var ksE      = new MenuBool("E", "E");
            var ksR      = new MenuBool("R", "R");

            foreach (var b in new List <MenuBool>
            {
                ksIgnite,
                ksSmite,
                ksQ,
                ksE,
                ksR
            })
            {
                ksMenu.Add(b);
            }
            mainmenu.Add(ksMenu);

            killsteal.IgniteEnabled = ksMenu["Ignite"].Enabled;
            killsteal.SmiteEnabled  = ksMenu["Smite"].Enabled;
            killsteal.QEnabled      = ksMenu["Q"].Enabled;
            killsteal.EEnabled      = ksMenu["E"].Enabled;
            killsteal.REnabled      = ksMenu["R"].Enabled;

            ksIgnite.OnValueChanged += (sender, args) => killsteal.IgniteEnabled = args.GetNewValue <MenuBool>().Value;
            ksSmite.OnValueChanged  += (sender, args) => killsteal.SmiteEnabled = args.GetNewValue <MenuBool>().Value;
            ksQ.OnValueChanged      += (sender, args) => killsteal.QEnabled = args.GetNewValue <MenuBool>().Value;
            ksE.OnValueChanged      += (sender, args) => killsteal.EEnabled = args.GetNewValue <MenuBool>().Value;
            ksR.OnValueChanged      += (sender, args) => killsteal.REnabled = args.GetNewValue <MenuBool>().Value;

            var drawMenu     = new Menu("Draw", "DrawManager");
            var drawSegments = new MenuSlider("Segments", "Segments", 100, 10, 150).SetToolTip("Smoothness of the circles");
            var drawPosition = new MenuBool("Position", "Insec Position");
            var drawQ        = new MenuBool("Q", "Q Range");

            drawMenu.Add(drawSegments);
            drawMenu.Add(drawPosition);
            drawMenu.Add(drawQ);
            mainmenu.Add(drawMenu);

            drawManager.QEnabled        = drawMenu["Q"].Enabled;
            drawManager.SegmentsValue   = drawMenu["Segments"].Value;
            drawManager.PositionEnabled = drawMenu["Position"].Enabled;

            drawSegments.OnValueChanged += (sender, args) => drawManager.SegmentsValue = args.GetNewValue <MenuSlider>().Value;
            drawPosition.OnValueChanged += (sender, args) => drawManager.PositionEnabled = args.GetNewValue <MenuBool>().Value;
            drawQ.OnValueChanged        += (sender, args) => drawManager.QEnabled = args.GetNewValue <MenuBool>().Value;

            Gapcloser.Attach(mainmenu, "Gapcloser");
            var gapcloser = new AntiGapcloser(spellConfig, wardmanager, wardtracker);

            Gapcloser.OnGapcloser += gapcloser.OnGapcloser;

            var manager = new Manager(combo, harass, jungle, lane, lasthit);

            Game.OnUpdate += manager.OnUpdate;
            Game.OnUpdate += killsteal.OnUpdate;

            Global.Orbwalker.PostAttack += manager.PostAttack;

            Render.OnRender  += drawManager.OnRender;
            Render.OnPresent += drawManager.RenerDamage;

            Obj_AI_Base.OnProcessSpellCast += insec.OnProcessSpellCast;
            Obj_AI_Base.OnProcessSpellCast += kickFlash.OnProcessSpellCast;
            Obj_AI_Base.OnProcessSpellCast += spellConfig.OnProcessSpellCast;

            GameObject.OnCreate += wardtracker.OnCreate;
        }
Exemple #5
0
        private static void Game_OnGameUpdate(EventArgs args)
        {
            try
            {
                if (ObjectManager.Player.IsDead || ObjectManager.Player.IsRecalling())
                {
                    return;
                }

                /*if (MyMenu.Menu.Item("bSharpOn").GetValue<KeyBind>().Active)
                 * {
                 *    Misc.Orbwalk(Game.CursorPos);
                 *
                 *    var t = TargetSelector.GetTarget(1000 + spells[Spells.W].Range, TargetSelector.DamageType.Physical);
                 *    if (t != null)
                 *    {
                 *       BubbaSharp.BubbKushGo(t);
                 *    }
                 * }*/

                if ((doubleClickReset <= Environment.TickCount) && (clickCount != 0))
                {
                    doubleClickReset = float.MaxValue;
                    clickCount       = 0;
                }

                if (clickCount >= 2)
                {
                    resetTime = Environment.TickCount + 3000;
                    InsecManager.ClicksecEnabled = true;
                    InsecManager.InsecClickPos   = Game.CursorPos;
                    clickCount = 0;
                }

                if ((resetTime <= Environment.TickCount) && !MyMenu.Menu.Item("InsecEnabled").GetValue <KeyBind>().Active &&
                    InsecManager.ClicksecEnabled)
                {
                    InsecManager.ClicksecEnabled = false;
                }

                if (q2Timer <= Environment.TickCount)
                {
                    q2Done = false;
                }

                if ((Misc.GetMenuItem("insecMode")
                         ? TargetSelector.GetSelectedTarget()
                         : TargetSelector.GetTarget(spells[Spells.Q].Range, TargetSelector.DamageType.Physical)) == null)
                {
                    InsecManager.insecComboStep = InsecManager.InsecComboStepSelect.None;
                }

                if (MyMenu.Menu.Item("starCombo").GetValue <KeyBind>().Active)
                {
                    StarCombo();
                }

                if (MyMenu.Menu.Item("ElLeeSin.Wardjump").GetValue <KeyBind>().Active)
                {
                    Wardmanager.WardjumpToMouse();
                }

                switch (Orbwalker.ActiveMode)
                {
                case Orbwalking.OrbwalkingMode.Combo:
                    Combo();
                    break;

                case Orbwalking.OrbwalkingMode.LaneClear:
                    LaneClear();
                    JungleClear();
                    break;

                case Orbwalking.OrbwalkingMode.Mixed:
                    Harass();
                    break;
                }

                if (Misc.GetMenuItem("ElLeeSin.Ignite.KS") && igniteSlot != SpellSlot.Unknown)
                {
                    var newTarget = TargetSelector.GetTarget(600f, TargetSelector.DamageType.True);
                    if (newTarget != null && ((ObjectManager.Player.Spellbook.CanUseSpell(igniteSlot) == SpellState.Ready) &&
                                              (ObjectManager.Player.GetSummonerSpellDamage(newTarget, Damage.SummonerSpell.Ignite)
                                               > newTarget.Health)))
                    {
                        ObjectManager.Player.Spellbook.CastSpell(igniteSlot, newTarget);
                    }
                }

                if (MyMenu.Menu.Item("InsecEnabled").GetValue <KeyBind>().Active)
                {
                    if (Misc.GetMenuItem("insecOrbwalk"))
                    {
                        Misc.Orbwalk(Game.CursorPos);
                    }

                    var newTarget = Misc.GetMenuItem("insecMode")
                                        ? (TargetSelector.GetSelectedTarget()
                                           ?? TargetSelector.GetTarget(
                                               spells[Spells.Q].Range,
                                               TargetSelector.DamageType.Physical))
                                        : TargetSelector.GetTarget(
                        spells[Spells.Q].Range,
                        TargetSelector.DamageType.Physical);

                    if (newTarget != null)
                    {
                        InsecManager.InsecCombo(newTarget);
                    }
                }
                else
                {
                    InsecManager.isNullInsecPos = true;
                    wardJumped = false;
                }

                if (Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Combo)
                {
                    InsecManager.insecComboStep = InsecManager.InsecComboStepSelect.None;
                }

                if (MyMenu.Menu.Item("ElLeeSin.Insec.UseInstaFlash").GetValue <KeyBind>().Active)
                {
                    var target = TargetSelector.GetTarget(spells[Spells.R].Range, TargetSelector.DamageType.Physical);
                    if (target == null)
                    {
                        return;
                    }

                    if (spells[Spells.R].IsReady() && !target.IsZombie &&
                        (ObjectManager.Player.Spellbook.CanUseSpell(flashSlot) == SpellState.Ready) &&
                        target.IsValidTarget(spells[Spells.R].Range))
                    {
                        spells[Spells.R].CastOnUnit(target);
                    }
                }

                if (spells[Spells.R].IsReady() && Misc.GetMenuItem("ElLeeSin.Combo.New") &&
                    !MyMenu.Menu.Item("InsecEnabled").GetValue <KeyBind>().Active &&
                    !MyMenu.Menu.Item("ElLeeSin.Wardjump").GetValue <KeyBind>().Active &&
                    !MyMenu.Menu.Item("ElLeeSin.Insec.UseInstaFlash").GetValue <KeyBind>().Active)
                {
                    KnockUp();
                }

                if (spells[Spells.R].IsReady() && Misc.GetMenuItem("ElLeeSin.Combo.New.R.Kill") &&
                    !MyMenu.Menu.Item("InsecEnabled").GetValue <KeyBind>().Active &&
                    !MyMenu.Menu.Item("ElLeeSin.Wardjump").GetValue <KeyBind>().Active &&
                    !MyMenu.Menu.Item("ElLeeSin.Insec.UseInstaFlash").GetValue <KeyBind>().Active)
                {
                    KnockUpKill();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occurred: '{0}'", e);
            }
        }