Example #1
0
        static void InsecCombo(Obj_AI_Hero target)
        {
            if (target != null && target.IsVisible)
            {
                if (_player.Distance(getInsecPos(target)) < 200)
                {
                    R.CastOnUnit(target, true);
                    InsecComboStep = InsecComboStepSelect.PRESSR;
                }
                else if (InsecComboStep == InsecComboStepSelect.NONE &&
                         getInsecPos(target).Distance(_player.Position) < 600)
                {
                    InsecComboStep = InsecComboStepSelect.WGAPCLOSE;
                }
                else if (InsecComboStep == InsecComboStepSelect.NONE && target.Distance(_player) < Q.Range)
                {
                    InsecComboStep = InsecComboStepSelect.QGAPCLOSE;
                }

                switch (InsecComboStep)
                {
                case InsecComboStepSelect.QGAPCLOSE:
                    if (!(target.HasBuff("BlindMonkQOne", true) || target.HasBuff("blindmonkqonechaos", true)) &&
                        Q.Instance.Name == "BlindMonkQOne")
                    {
                        CastQ1(target);
                    }
                    else if ((target.HasBuff("BlindMonkQOne", true) || target.HasBuff("blindmonkqonechaos", true)))
                    {
                        Q.Cast();
                        InsecComboStep = InsecComboStepSelect.WGAPCLOSE;
                    }
                    break;

                case InsecComboStepSelect.WGAPCLOSE:
                    if (W.IsReady() && W.Instance.Name == "BlindMonkWOne" &&
                        (paramBool("waitForQBuff")
                                ? !(target.HasBuff("BlindMonkQOne", true) || target.HasBuff("blindmonkqonechaos", true))
                                : true))
                    {
                        WardJump(getInsecPos(target), false, false, true);
                        wardJumped = true;
                    }
                    else if (_player.SummonerSpellbook.CanUseSpell(flashSlot) == SpellState.Ready &&
                             paramBool("flashInsec") && !wardJumped && _player.Distance(insecPos) < 400 ||
                             _player.SummonerSpellbook.CanUseSpell(flashSlot) == SpellState.Ready &&
                             paramBool("flashInsec") && !wardJumped && _player.Distance(insecPos) < 400 &&
                             FindBestWardItem() == null)
                    {
                        _player.SummonerSpellbook.CastSpell(flashSlot, getInsecPos(target));
                        Utility.DelayAction.Add(50, () => R.CastOnUnit(target, true));
                    }
                    break;

                case InsecComboStepSelect.PRESSR:
                    R.CastOnUnit(target, true);
                    break;
                }
            }
        }
Example #2
0
        static void Game_OnGameUpdate(EventArgs args)
        {
            if (_player.IsDead)
            {
                return;
            }
            minionerimo = null;
            if (SimpleTs.GetSelectedTarget() == null)
            {
                InsecComboStep = InsecComboStepSelect.NONE;
            }
            if (Menu.Item("smiteEnabled").GetValue <KeyBind>().Active)
            {
                smiter();
            }
            if (paramBool("smiteSave"))
            {
                SaveMe();
            }
            if (Menu.Item("InsecEnabled").GetValue <KeyBind>().Active)
            {
                if (paramBool("insecOrbwalk"))
                {
                    Orbwalk(Game.CursorPos);
                }

                if (SimpleTs.GetSelectedTarget() != null)
                {
                    InsecCombo(SimpleTs.GetSelectedTarget());
                }
            }
            else
            {
                isNullInsecPos = true;
            }
            if (LXOrbwalker.CurrentMode != LXOrbwalker.Mode.Combo)
            {
                InsecComboStep = InsecComboStepSelect.NONE;
            }
            switch (LXOrbwalker.CurrentMode)
            {
            case LXOrbwalker.Mode.Combo:
                StarCombo();
                break;

            case LXOrbwalker.Mode.LaneClear:
                AllClear();
                break;
            }
            if (Menu.Item("wjump").GetValue <KeyBind>().Active)
            {
                wardjumpToMouse();
            }
        }
Example #3
0
        static void InsecCombo(Obj_AI_Hero target)
        {
            if (_player.Distance(getInsecPos(target)) <= 100)
            {
                InsecComboStep = InsecComboStepSelect.PRESSR;
            }
            else if (InsecComboStep == InsecComboStepSelect.NONE && getInsecPos(target).Distance(_player.Position) < 600)
            {
                InsecComboStep = InsecComboStepSelect.WGAPCLOSE;
            }
            else if (InsecComboStep == InsecComboStepSelect.NONE && target.Distance(_player) < Q.Range)
            {
                InsecComboStep = InsecComboStepSelect.QGAPCLOSE;
            }

            switch (InsecComboStep)
            {
            case InsecComboStepSelect.QGAPCLOSE:
                if (!(target.HasBuff("BlindMonkQOne", true) || target.HasBuff("blindmonkqonechaos", true)) && Q.Instance.Name == "BlindMonkQOne")
                {
                    CastQ1(target);
                }
                else if ((target.HasBuff("BlindMonkQOne", true) || target.HasBuff("blindmonkqonechaos", true)))
                {
                    Q.Cast();
                    InsecComboStep = InsecComboStepSelect.WGAPCLOSE;
                }
                break;

            case InsecComboStepSelect.WGAPCLOSE:
                WardJump(getInsecPos(target), false, false, true);
                break;

            case InsecComboStepSelect.PRESSR:
                R.CastOnUnit(target, true);
                break;
            }
        }
Example #4
0
        private static void Game_OnGameUpdate(EventArgs args)
        {
            if (doubleClickReset <= Environment.TickCount && clickCount != 0)
            {
                doubleClickReset = float.MaxValue;
                clickCount       = 0;
            }

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

            if (passiveTimer <= Environment.TickCount)
            {
                PassiveStacks = 0;
            }

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

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

            if (Player.IsDead || MenuGUI.IsChatOpen || Player.IsRecalling())
            {
                return;
            }

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

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

            if (ParamBool("IGNks"))
            {
                var newTarget = TargetSelector.GetTarget(600, TargetSelector.DamageType.True);

                if (newTarget != null && igniteSlot != SpellSlot.Unknown &&
                    Player.Spellbook.CanUseSpell(igniteSlot) == SpellState.Ready &&
                    ObjectManager.Player.GetSummonerSpellDamage(newTarget, Damage.SummonerSpell.Ignite)
                    > newTarget.Health)
                {
                    Player.Spellbook.CastSpell(igniteSlot, newTarget);
                }
            }

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

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

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

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

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

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

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

            if (InitMenu.Menu.Item("ElLeeSin.Wardjump").GetValue <KeyBind>().Active)
            {
                WardjumpToMouse();
            }
        }
Example #5
0
        private static void Obj_AI_Base_OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
        {
            if (!sender.IsMe)
            {
                return;
            }
            if (SpellNames.Contains(args.SData.Name))
            {
                PassiveStacks = 2;
                passiveTimer  = Environment.TickCount + 3000;
            }

            if (args.SData.Name == "BlindMonkQOne")
            {
                castQAgain = false;
                Utility.DelayAction.Add(2900, () => { castQAgain = true; });
            }

            if (FindBestWardItem() == null &&
                InitMenu.Menu.Item("ElLeeSin.Insec.Insta.Flashx").GetValue <KeyBind>().Active &&
                args.SData.Name == "BlindMonkRKick")
            {
                Player.Spellbook.CastSpell(flashSlot, GetInsecPos((Obj_AI_Hero)(args.Target)));
            }

            if (args.SData.Name == "summonerflash" && insecComboStep != InsecComboStepSelect.None)
            {
                var target = ParamBool("insecMode")
                                 ? TargetSelector.GetSelectedTarget()
                                 : TargetSelector.GetTarget(
                    spells[Spells.Q].Range + 200,
                    TargetSelector.DamageType.Physical);

                insecComboStep = InsecComboStepSelect.Pressr;

                Utility.DelayAction.Add(80, () => spells[Spells.R].CastOnUnit(target, true));
            }
            if (args.SData.Name == "blindmonkqtwo")
            {
                waitingForQ2 = true;
                Utility.DelayAction.Add(3000, () => { waitingForQ2 = false; });
            }
            if (args.SData.Name == "BlindMonkRKick")
            {
                insecComboStep = InsecComboStepSelect.None;
            }

            switch (args.SData.Name)
            {
            case "BlindMonkQOne":
                LastQ         = Environment.TickCount;
                LastSpell     = Environment.TickCount;
                PassiveStacks = 2;
                break;

            case "BlindMonkWOne":
                LastW         = Environment.TickCount;
                LastSpell     = Environment.TickCount;
                PassiveStacks = 2;
                break;

            case "BlindMonkEOne":
                LastE         = Environment.TickCount;
                LastSpell     = Environment.TickCount;
                PassiveStacks = 2;
                break;

            case "blindmonkqtwo":
                LastQ2        = Environment.TickCount;
                LastSpell     = Environment.TickCount;
                PassiveStacks = 2;
                CheckQ        = false;
                break;

            case "blindmonkwtwo":
                LastW2        = Environment.TickCount;
                LastSpell     = Environment.TickCount;
                PassiveStacks = 2;
                break;

            case "blindmonketwo":
                LastQ         = Environment.TickCount;
                LastSpell     = Environment.TickCount;
                PassiveStacks = 2;
                break;

            case "BlindMonkRKick":
                LastR         = Environment.TickCount;
                LastSpell     = Environment.TickCount;
                PassiveStacks = 2;
                break;
            }
        }
Example #6
0
        private static void InsecCombo(Obj_AI_Hero target)
        {
            if (target != null && target.IsVisible)
            {
                if (Player.Distance(getInsecPos(target)) < 200)
                {
                    InsecComboStep = InsecComboStepSelect.PRESSR;
                }
                else if (InsecComboStep == InsecComboStepSelect.NONE &&
                         getInsecPos(target).Distance(Player.Position) < 600)
                {
                    InsecComboStep = InsecComboStepSelect.WGAPCLOSE;
                }
                else if (InsecComboStep == InsecComboStepSelect.NONE && target.Distance(Player) < Q.Range)
                {
                    InsecComboStep = InsecComboStepSelect.QGAPCLOSE;
                }

                switch (InsecComboStep)
                {
                    case InsecComboStepSelect.QGAPCLOSE:
                        if (!(target.HasBuff("BlindMonkQOne", true) || target.HasBuff("blindmonkqonechaos", true)) &&
                            Q.Instance.Name == "BlindMonkQOne")
                        {
                            CastQ1(target);
                        }
                        else if ((target.HasBuff("BlindMonkQOne", true) || target.HasBuff("blindmonkqonechaos", true)))
                        {
                            Q.Cast();
                            InsecComboStep = InsecComboStepSelect.WGAPCLOSE;
                        }
                        else
                        {
                            if (Q.Instance.Name == "blindmonkqtwo" && ReturnQBuff().Distance(target) <= 600)
                            {
                                Q.Cast();
                            }
                        }
                        break;
                    case InsecComboStepSelect.WGAPCLOSE:
                        if (FindBestWardItem() != null && W.IsReady() && W.Instance.Name == "BlindMonkWOne" &&
                            (ParamBool("waitForQBuff") &&
                             (Q.Instance.Name == "BlindMonkQOne" ||
                              (!Q.IsReady() || Q.Instance.Name == "blindmonkqtwo") && q2Done)) ||
                            !ParamBool("waitForQBuff"))
                        {
                            WardJump(getInsecPos(target), false, false, true);
                            wardJumped = true;
                        }
                        else if (Player.Spellbook.CanUseSpell(flashSlot) == SpellState.Ready && ParamBool("flashInsec") &&
                                 !wardJumped && Player.Distance(insecPos) < 400 ||
                                 Player.Spellbook.CanUseSpell(flashSlot) == SpellState.Ready && ParamBool("flashInsec") &&
                                 !wardJumped && Player.Distance(insecPos) < 400 && FindBestWardItem() == null)
                        {
                            Player.Spellbook.CastSpell(flashSlot, getInsecPos(target));
                            Utility.DelayAction.Add(50, () => R.CastOnUnit(target, true));
                        }
                        break;
                    case InsecComboStepSelect.PRESSR:
                        R.CastOnUnit(target, true);
                        break;
                }
            }
        }
Example #7
0
        private static void InsecCombo(AIHeroClient target)
        {
            if (target != null && target.IsVisible)
            {
                if (myHero.Distance(GetInsecPos(target)) < 200)
                {
                    insecComboStep = InsecComboStepSelect.Pressr;
                }
                else if (insecComboStep == InsecComboStepSelect.None && GetInsecPos(target).Distance(myHero.Position) < 600)
                {
                    insecComboStep = InsecComboStepSelect.Wgapclose;
                }
                else if (insecComboStep == InsecComboStepSelect.None && target.Distance(myHero) < Q.Range)
                {
                    insecComboStep = InsecComboStepSelect.Qgapclose;
                }

                switch (insecComboStep)
                {
                case InsecComboStepSelect.Qgapclose:

                    var prediction = Q.GetPrediction(target);
                    if (prediction.CollisionObjects.Count(h => h.IsEnemy && !h.IsDead && h is Obj_AI_Minion) >= 1 && checkOthers1 && Q.IsReady())
                    {
                        foreach (var unit in ObjectManager.Get <Obj_AI_Base>().Where(obj => (((obj is Obj_AI_Minion) && myHero.GetSpellDamage(target, SpellSlot.Q) < obj.Health + 10) || (obj is AIHeroClient)) && obj.IsValidTarget(Q.Range) && obj.Distance(GetInsecPos(target)) < 500))
                        {
                            var pred = Q.GetPrediction(unit);
                            if (pred.HitChance >= HitChance.High)
                            {
                                Q.Cast(pred.CastPosition);
                            }
                            break;
                        }
                    }

                    if (!(target.HasQBuff()) && QState)
                    {
                        CastQ(target, ElLeeSinSmiteQ);
                    }
                    else if (target.HasQBuff())
                    {
                        Q2.Cast();
                        insecComboStep = InsecComboStepSelect.Wgapclose;
                    }
                    else
                    {
                        if (Q.Name == "blindmonkqtwo" && ReturnQBuff().Distance(target) <= 600 && target.HasQBuff())
                        {
                            Q2.Cast();
                        }
                    }
                    break;

                case InsecComboStepSelect.Wgapclose:
                    if (myHero.Distance(target) < 600)
                    {
                        Console.WriteLine("Warded in 600");
                        WardJump(GetInsecPos(target) - 15, false, true, true);
                        if (FindBestWardItem() == null && GetInsecPos(target).Distance(myHero.Position) < 400 && LastWard + 500 < Environment.TickCount || FindBestWardItem() != null && GetInsecPos(target).Distance(myHero.Position) < 400 && LastWard + 500 < Environment.TickCount || !W.IsReady() && GetInsecPos(target).Distance(myHero.Position) < 400 && LastWard + 500 < Environment.TickCount)
                        {
                            if (R.IsReady() && flashSlot.IsReady() && ElLeeSinFlashInsec && LastWard + 1000 < Environment.TickCount)
                            {
                                flashSlot.Cast(GetInsecPos(target));
                                return;
                            }
                        }
                    }

                    if (R.IsReady() && myHero.Distance(target) < 700 && LastWard + 700 < Environment.TickCount)
                    {
                        WardJump(target.Position - 15, false, true, true);

                        if (GetInsecPos(target).Distance(myHero.Position) < 425 && ElLeeSinFlashInsec && LastWard + 500 < Environment.TickCount && FindBestWardItem() == null && flashSlot.IsReady())
                        {
                            flashSlot.Cast(GetInsecPos(target));
                            return;
                        }
                    }
                    break;

                case InsecComboStepSelect.Pressr:
                    R.Cast(target);
                    break;
                }
            }
        }
Example #8
0
        private static void InsecCombo(Obj_AI_Hero target)
        {
            if (target != null && target.IsVisible)
            {
                if (Player.Distance(GetInsecPos(target)) < 200)
                {
                    insecComboStep = InsecComboStepSelect.Pressr;
                }
                else if (insecComboStep == InsecComboStepSelect.None
                         && GetInsecPos(target).Distance(Player.Position) < 600)
                {
                    insecComboStep = InsecComboStepSelect.Wgapclose;
                }
                else if (insecComboStep == InsecComboStepSelect.None
                         && target.Distance(Player) < spells[Spells.Q].Range)
                {
                    insecComboStep = InsecComboStepSelect.Qgapclose;
                }

                switch (insecComboStep)
                {
                    case InsecComboStepSelect.Qgapclose:
                        if (!(target.HasBuff("BlindMonkQOne") || target.HasBuff("blindmonkqonechaos"))
                            && spells[Spells.Q].Instance.Name == "BlindMonkQOne")
                        {
                            CastQ1(target);
                        }
                        else if ((target.HasBuff("BlindMonkQOne") || target.HasBuff("blindmonkqonechaos")))
                        {
                            spells[Spells.Q].Cast();
                            insecComboStep = InsecComboStepSelect.Wgapclose;
                        }
                        else
                        {
                            if (spells[Spells.Q].Instance.Name == "blindmonkqtwo"
                                && ReturnQBuff().Distance(target) <= 600)
                            {
                                spells[Spells.Q].Cast();
                            }
                        }
                        break;

                    case InsecComboStepSelect.Wgapclose:
                        if (FindBestWardItem() != null && spells[Spells.W].IsReady()
                            && spells[Spells.W].Instance.Name == "BlindMonkWOne"
                            && (ParamBool("waitForQBuff")
                                && (spells[Spells.Q].Instance.Name == "BlindMonkQOne"
                                    || (!spells[Spells.Q].IsReady() || spells[Spells.Q].Instance.Name == "blindmonkqtwo")
                                    && q2Done)) || !ParamBool("waitForQBuff"))
                        {
                            WardJump(GetInsecPos(target), false, false, true);
                            wardJumped = true;
                        }
                        else if (Player.Spellbook.CanUseSpell(flashSlot) == SpellState.Ready && ParamBool("flashInsec")
                                 && !wardJumped && Player.Distance(insecPos) < 400
                                 || Player.Spellbook.CanUseSpell(flashSlot) == SpellState.Ready
                                 && ParamBool("flashInsec") && !wardJumped && Player.Distance(insecPos) < 400
                                 && FindBestWardItem() == null)
                        {
                            Player.Spellbook.CastSpell(flashSlot, GetInsecPos(target));
                            Utility.DelayAction.Add(50, () => spells[Spells.R].CastOnUnit(target));
                        }
                        break;

                    case InsecComboStepSelect.Pressr:
                        spells[Spells.R].CastOnUnit(target);
                        break;
                }
            }
        }
Example #9
0
        private static void OnProcessSpell(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
        {
            if (!sender.IsMe)
            {
                return;
            }

            if (SpellNames.Contains(args.SData.Name))
            {
                PassiveStacks = 2;
                passiveTimer  = Environment.TickCount + 3000;
            }

            if (args.SData.Name == "BlindMonkQOne")
            {
                castQAgain = false;
                Core.DelayAction(delegate { castQAgain = true; }, 2900);
            }

            if (R.IsReady() && flashSlot.IsReady())
            {
                var target = TargetSelector.GetTarget(R.Range, DamageType.Physical);

                if (target == null)
                {
                    return;
                }
            }

            if (args.SData.Name == "summonerflash" && insecComboStep != InsecComboStepSelect.None)
            {
                var target = TargetSelector.GetTarget(Q.Range, DamageType.Physical);

                insecComboStep = InsecComboStepSelect.Pressr;

                Core.DelayAction(delegate { R.Cast(target); }, 80);
            }

            if (args.SData.Name == "blindmonkqtwo")
            {
                waitingForQ2 = true;
                Core.DelayAction(delegate { waitingForQ2 = false; }, 3000);
            }
            if (args.SData.Name == "BlindMonkRKick")
            {
                insecComboStep = InsecComboStepSelect.None;
            }

            switch (args.SData.Name)
            {
            case "BlindMonkQOne":
                LastQ         = Environment.TickCount;
                LastSpell     = Environment.TickCount;
                PassiveStacks = 2;
                break;

            case "BlindMonkWOne":
                LastW         = Environment.TickCount;
                LastSpell     = Environment.TickCount;
                PassiveStacks = 2;
                break;

            case "BlindMonkEOne":
                LastE         = Environment.TickCount;
                LastSpell     = Environment.TickCount;
                PassiveStacks = 2;
                break;

            case "blindmonkqtwo":
                LastQ2        = Environment.TickCount;
                LastSpell     = Environment.TickCount;
                PassiveStacks = 2;
                CheckQ        = false;
                break;

            case "blindmonkwtwo":
                LastW2        = Environment.TickCount;
                LastSpell     = Environment.TickCount;
                PassiveStacks = 2;
                break;

            case "blindmonketwo":
                LastQ         = Environment.TickCount;
                LastSpell     = Environment.TickCount;
                PassiveStacks = 2;
                break;

            case "BlindMonkRKick":
                LastR         = Environment.TickCount;
                LastSpell     = Environment.TickCount;
                PassiveStacks = 2;
                break;
            }
        }
Example #10
0
        private static void InsecCombo(Obj_AI_Hero target)
        {
            if (target != null && target.IsVisible)
            {
                if (Player.Distance(GetInsecPos(target)) < 200)
                {
                    insecComboStep = InsecComboStepSelect.Pressr;
                }
                else if (insecComboStep == InsecComboStepSelect.None
                         && GetInsecPos(target).Distance(Player.Position) < 600)
                {
                    insecComboStep = InsecComboStepSelect.Wgapclose;
                }
                else if (insecComboStep == InsecComboStepSelect.None
                         && target.Distance(Player) < spells[Spells.Q].Range)
                {
                    insecComboStep = InsecComboStepSelect.Qgapclose;
                }

                switch (insecComboStep)
                {
                    case InsecComboStepSelect.Qgapclose:

                        if (!(target.HasQBuff()) && QState)
                        {
                            if (ParamBool("checkOthers"))
                            {
                                foreach (var insecMinion in
                                    ObjectManager.Get<Obj_AI_Minion>()
                                        .Where(
                                            x =>
                                            x.Health > spells[Spells.Q].GetDamage(x) && x.IsValidTarget()
                                            && x.Distance(GetInsecPos(target)) < 0x1c2)
                                        .ToList())
                                {
                                    spells[Spells.Q].Cast(insecMinion);
                                }

                                /*foreach (var insecEnemy in ObjectManager.Get<Obj_AI_Hero>()
                                  .Where(
                                      x =>
                                      x.Health > spells[Spells.Q].GetDamage(x) && x.IsValidTarget()
                                      && x.Distance(GetInsecPos(target)) < 0x1c2)
                                  .ToList())
                                {
                                    spells[Spells.Q].Cast(insecEnemy);
                                }*/
                            }

                            CastQ(target, ParamBool("qSmite"));
                        }

                        else if (target.HasQBuff())
                        {
                            spells[Spells.Q].Cast();
                            insecComboStep = InsecComboStepSelect.Wgapclose;
                        }
                        else
                        {
                            if (spells[Spells.Q].Instance.Name == "blindmonkqtwo"
                                && ReturnQBuff().Distance(target) <= 600)
                            {
                                spells[Spells.Q].Cast();
                            }
                        }
                        break;

                    case InsecComboStepSelect.Wgapclose:
                        if (Player.Distance(target) < 600)
                        {
                            if (FindBestWardItem() == null && GetInsecPos(target).Distance(Player.Position) < 400)
                            {
                                if (spells[Spells.R].IsReady()
                                    && Player.Spellbook.CanUseSpell(flashSlot) == SpellState.Ready
                                    && ParamBool("flashInsec") && LastWard + 1000 < Environment.TickCount)
                                {
                                    Player.Spellbook.CastSpell(flashSlot, GetInsecPos(target));
                                    return;
                                }
                            }
                            WardJump(GetInsecPos(target), false, false, true);
                        }

                        if (Player.Distance(GetInsecPos(target)) < 200)
                        {
                            spells[Spells.R].Cast(target);
                        }
                        break;

                    case InsecComboStepSelect.Pressr:
                        spells[Spells.R].CastOnUnit(target);
                        break;
                }
            }
        }
Example #11
0
 private static void Obj_AI_Base_OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
 {
     if (!sender.IsMe) return;
     if (args.SData.Name == "BlindMonkQOne")
     {
         CastQAgain = false;
         Utility.DelayAction.Add(2900, () =>
         {
             CastQAgain = true;
         });
     }
     if (Menu.Item("instaFlashInsec").GetValue<KeyBind>().Active && args.SData.Name == "BlindMonkRKick")
     {
         _player.SummonerSpellbook.CastSpell(flashSlot, getInsecPos((Obj_AI_Hero) (args.Target)));
     }
     if (args.SData.Name == "summonerflash" && InsecComboStep != InsecComboStepSelect.NONE)
     {
         Obj_AI_Hero target = paramBool("insecMode")
            ? SimpleTs.GetSelectedTarget()
            : SimpleTs.GetTarget(Q.Range + 200, SimpleTs.DamageType.Physical);
         InsecComboStep = InsecComboStepSelect.PRESSR;
         Utility.DelayAction.Add(80, () => R.CastOnUnit(target, true));
     }
     if (args.SData.Name == "BlindMonkRKick")
         InsecComboStep = InsecComboStepSelect.NONE;
     //if (args.SData.Name == "blindmonkqtwo" && HarassSelect != HarassStatEnum.NONE)
     //    HarassSelect = HarassStatEnum.WJ;
     if (args.SData.Name == "BlindMonkWOne" && InsecComboStep == InsecComboStepSelect.NONE)
     {
         Obj_AI_Hero target = paramBool("insecMode")
             ? SimpleTs.GetSelectedTarget()
             : SimpleTs.GetTarget(Q.Range + 200, SimpleTs.DamageType.Physical);
         InsecComboStep = InsecComboStepSelect.PRESSR;
         Utility.DelayAction.Add(100, () => R.CastOnUnit(target, true));
     }
 }
Example #12
0
        private static void InsecCombo(Obj_AI_Hero target)
        {
            if (target != null && target.IsVisible)
            {
                if (Player.Distance(GetInsecPos(target)) < 250)
                {
                    insecComboStep = InsecComboStepSelect.Pressr;
                }
                else if (insecComboStep == InsecComboStepSelect.None
                         && GetInsecPos(target).Distance(Player.Position) < 600)
                {
                    insecComboStep = InsecComboStepSelect.Wgapclose;
                }
                else if (insecComboStep == InsecComboStepSelect.None
                         && target.Distance(Player) < spells[Spells.Q].Range)
                {
                    insecComboStep = InsecComboStepSelect.Qgapclose;
                }

                switch (insecComboStep)
                {
                    case InsecComboStepSelect.Qgapclose:

                        var prediction = spells[Spells.Q].GetPrediction(target);

                        if (prediction.CollisionObjects.Count > 1 && ParamBool("checkOthers1") && !(target.HasQBuff())
                            && QState && spells[Spells.Q].IsReady())
                        {
                            var insMinion = GetInsecMinion(target);
                            if (insMinion != null && spells[Spells.Q].IsReady()
                                && spells[Spells.Q].GetDamage(insMinion) < insMinion.Health + 10)
                            {
                                spells[Spells.Q].Cast(insMinion);
                            }
                        }

                        if (!(target.HasQBuff()) && QState)
                        {
                            CastQ(target, ParamBool("qSmite"));
                        }
                        else if (target.HasQBuff())
                        {
                            spells[Spells.Q].Cast();
                            insecComboStep = InsecComboStepSelect.Wgapclose;
                        }
                        else
                        {
                            if (spells[Spells.Q].Instance.Name == "blindmonkqtwo"
                                && ReturnQBuff().Distance(target) <= 600)
                            {
                                spells[Spells.Q].Cast();
                            }
                        }
                        break;

                    case InsecComboStepSelect.Wgapclose:
                        if (Player.Distance(target) < 600)
                        {
                            if (FindBestWardItem() == null && GetInsecPos(target).Distance(Player.Position) < 500)
                            {
                                if (spells[Spells.R].IsReady()
                                    && Player.Spellbook.CanUseSpell(flashSlot) == SpellState.Ready
                                    && ParamBool("flashInsec")) //&& LastWard + 1000 < Environment.TickCount
                                {
                                    Player.Spellbook.CastSpell(flashSlot, GetInsecPos(target));
                                    return;
                                }
                            }
                            WardJump(GetInsecPos(target), false, false, true);
                        }

                        if (Player.Distance(GetInsecPos(target)) < 200)
                        {
                            spells[Spells.R].Cast(target);
                        }
                        break;

                    case InsecComboStepSelect.Pressr:
                        spells[Spells.R].CastOnUnit(target);
                        break;
                }
            }
        }
Example #13
0
        static void InsecCombo(Obj_AI_Hero target)
        {
            if (target != null && target.IsVisible)
            {
                if (_player.Distance(getInsecPos(target)) < 200)
                {
                    R.CastOnUnit(target, true);
                    InsecComboStep = InsecComboStepSelect.PRESSR;
                }
                else if (InsecComboStep == InsecComboStepSelect.NONE &&
                         getInsecPos(target).Distance(_player.Position) < 600)
                    InsecComboStep = InsecComboStepSelect.WGAPCLOSE;
                else if (InsecComboStep == InsecComboStepSelect.NONE && target.Distance(_player) < Q.Range)
                    InsecComboStep = InsecComboStepSelect.QGAPCLOSE;

                switch (InsecComboStep)
                {
                    case InsecComboStepSelect.QGAPCLOSE:
                        if (!(target.HasBuff("BlindMonkQOne", true) || target.HasBuff("blindmonkqonechaos", true)) &&
                            Q.Instance.Name == "BlindMonkQOne")
                        {
                            CastQ1(target);
                        }
                        else if ((target.HasBuff("BlindMonkQOne", true) || target.HasBuff("blindmonkqonechaos", true)))
                        {
                            Q.Cast();
                            InsecComboStep = InsecComboStepSelect.WGAPCLOSE;
                        }
                        break;
                    case InsecComboStepSelect.WGAPCLOSE:
                        if (W.IsReady() && W.Instance.Name == "BlindMonkWOne" &&
                            (paramBool("waitForQBuff")
                                ? !(target.HasBuff("BlindMonkQOne", true) || target.HasBuff("blindmonkqonechaos", true))
                                : true))
                        {
                            WardJump(getInsecPos(target), false, false, true);
                            wardJumped = true;
                        }
                        else if (_player.SummonerSpellbook.CanUseSpell(flashSlot) == SpellState.Ready &&
                                 paramBool("flashInsec") && !wardJumped && _player.Distance(insecPos) < 400 ||
                                 _player.SummonerSpellbook.CanUseSpell(flashSlot) == SpellState.Ready &&
                                 paramBool("flashInsec") && !wardJumped && _player.Distance(insecPos) < 400 &&
                                 Items.GetWardSlot() == null)
                        {
                            _player.SummonerSpellbook.CastSpell(flashSlot, getInsecPos(target));
                            Utility.DelayAction.Add(50, () => R.CastOnUnit(target, true));
                        }
                        break;
                    case InsecComboStepSelect.PRESSR:
                        R.CastOnUnit(target, true);
                        break;
                }
            }
        }
Example #14
0
        static void Game_OnGameUpdate(EventArgs args)
        {
            if(_player.IsDead) return;
            if ((paramBool("insecMode")
                ? SimpleTs.GetSelectedTarget()
                : SimpleTs.GetTarget(Q.Range + 200, SimpleTs.DamageType.Physical)) == null)
            {
                InsecComboStep = InsecComboStepSelect.NONE;
            }
            if (Menu.Item("smiteEnabled").GetValue<KeyBind>().Active) smiter();
            if (Menu.Item("starCombo").GetValue<KeyBind>().Active) wardCombo();
            if (paramBool("smiteSave")) SaveMe();

            if (paramBool("IGNks"))
            {
                Obj_AI_Hero NewTarget = SimpleTs.GetTarget(600, SimpleTs.DamageType.True);

                if (NewTarget != null && IgniteSlot != SpellSlot.Unknown
                    && _player.SummonerSpellbook.CanUseSpell(IgniteSlot) == SpellState.Ready
                    && ObjectManager.Player.GetSummonerSpellDamage(NewTarget, Damage.SummonerSpell.Ignite) > NewTarget.Health)
                {
                    _player.SummonerSpellbook.CastSpell(IgniteSlot, NewTarget);
                }
            }
            if (Menu.Item("InsecEnabled").GetValue<KeyBind>().Active)
            {
                if (paramBool("insecOrbwalk"))
                {
                    Orbwalk(Game.CursorPos);
                }
                Obj_AI_Hero newTarget = paramBool("insecMode")
                    ? SimpleTs.GetSelectedTarget()
                    : SimpleTs.GetTarget(Q.Range + 200, SimpleTs.DamageType.Physical);

                 if(newTarget != null) InsecCombo(newTarget);
            }
            else
            {
                isNullInsecPos = true;
                wardJumped = false;
            }
            if(LXOrbwalker.CurrentMode != LXOrbwalker.Mode.Combo) InsecComboStep = InsecComboStepSelect.NONE;
            switch (LXOrbwalker.CurrentMode)
            {
                case LXOrbwalker.Mode.Combo:
                    StarCombo();
                    break;
                case LXOrbwalker.Mode.LaneClear:
                    AllClear();
                    break;
                case LXOrbwalker.Mode.Harass:
                    Harass();
                    break;

            }
            if(Menu.Item("wjump").GetValue<KeyBind>().Active)
                wardjumpToMouse();
        }
Example #15
0
        public static void InsecCombo(AIHeroClient target)
        {
            if (target == null)
            {
                return;
            }

            if (ObjectManager.Player.Distance(GetInsecPos(target)) < 200)
            {
                insecComboStep = InsecComboStepSelect.Pressr;
            }
            else if ((insecComboStep == InsecComboStepSelect.None) &&
                     (GetInsecPos(target).Distance(ObjectManager.Player.Position) < 600))
            {
                insecComboStep = InsecComboStepSelect.Wgapclose;
            }
            else if ((insecComboStep == InsecComboStepSelect.None) &&
                     (target.Distance(ObjectManager.Player) < LeeSin.spells[LeeSin.Spells.Q].Range))
            {
                insecComboStep = InsecComboStepSelect.Qgapclose;
            }

            switch (insecComboStep)
            {
            case InsecComboStepSelect.Qgapclose:
                if (Misc.IsQOne)
                {
                    var pred1 = LeeSin.spells[LeeSin.Spells.Q].GetPrediction(target);
                    if (pred1.Hitchance >= HitChance.High)
                    {
                        LeeSin.CastQ(target, Misc.GetMenuItem("ElLeeSin.Smite.Q"));
                    }

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

                    var insectObjects =
                        HeroManager.Enemies.Where(
                            x =>
                            x.IsValidTarget(LeeSin.spells[LeeSin.Spells.Q].Range) && !x.Compare(target) &&
                            (LeeSin.spells[LeeSin.Spells.Q].GetHealthPrediction(x)
                             > LeeSin.spells[LeeSin.Spells.Q].GetDamage(x)) &&
                            (x.Distance(target) < target.DistanceToPlayer()) && (x.Distance(target) < 750))
                        .Concat(
                            MinionManager.GetMinions(
                                ObjectManager.Player.ServerPosition,
                                LeeSin.spells[LeeSin.Spells.Q].Range,
                                MinionTypes.All,
                                MinionTeam.NotAlly))
                        .Where(
                            m =>
                            m.IsValidTarget(LeeSin.spells[LeeSin.Spells.Q].Range) &&
                            LeeSin.spells[LeeSin.Spells.Q].GetHealthPrediction(m)
                            > LeeSin.spells[LeeSin.Spells.Q].GetDamage(m) && m.Distance(target) < 400f)
                        .OrderBy(i => i.Distance(target))
                        .FirstOrDefault();

                    if (insectObjects == null)
                    {
                        return;
                    }

                    LeeSin.spells[LeeSin.Spells.Q].Cast(insectObjects);
                }

                if (!target.HasQBuff() && Misc.IsQOne)
                {
                    LeeSin.CastQ(target, Misc.GetMenuItem("ElLeeSin.Smite.Q"));
                }
                else if (target.HasQBuff())
                {
                    LeeSin.spells[LeeSin.Spells.Q].Cast();
                    insecComboStep = InsecComboStepSelect.Wgapclose;
                }
                else
                {
                    if (LeeSin.spells[LeeSin.Spells.Q].Instance.Name.Equals(
                            "blindmonkqtwo",
                            StringComparison.InvariantCultureIgnoreCase) &&
                        (Misc.ReturnQBuff()?.Distance(target) <= 600))
                    {
                        LeeSin.spells[LeeSin.Spells.Q].Cast();
                    }
                }
                break;

            case InsecComboStepSelect.Wgapclose:

                if (ObjectManager.Player.Distance(target) < WardRange)
                {
                    Wardmanager.WardJump(GetInsecPos(target), false, true, true);

                    if ((Wardmanager.FindBestWardItem() == null) && LeeSin.spells[LeeSin.Spells.R].IsReady() &&
                        Misc.GetMenuItem("ElLeeSin.Flash.Insec") &&
                        (ObjectManager.Player.Spellbook.CanUseSpell(LeeSin.flashSlot) == SpellState.Ready))
                    {
                        if (((GetInsecPos(target).Distance(ObjectManager.Player.Position) < FlashRange) &&
                             (Wardmanager.LastWard + 1000 < Environment.TickCount)) || !LeeSin.spells[LeeSin.Spells.W].IsReady())
                        {
                            ObjectManager.Player.Spellbook.CastSpell(LeeSin.flashSlot, GetInsecPos(target));
                        }
                    }
                }
                else if (ObjectManager.Player.Distance(target) < Misc.WardFlashRange)
                {
                    Wardmanager.WardJump(target.Position);

                    if (LeeSin.spells[LeeSin.Spells.R].IsReady() && Misc.GetMenuItem("ElLeeSin.Flash.Insec") &&
                        (ObjectManager.Player.Spellbook.CanUseSpell(LeeSin.flashSlot) == SpellState.Ready))
                    {
                        if (ObjectManager.Player.Distance(target) < FlashRange - 25)
                        {
                            if ((Wardmanager.FindBestWardItem() == null) || (Wardmanager.LastWard + 1000 < Environment.TickCount))
                            {
                                ObjectManager.Player.Spellbook.CastSpell(LeeSin.flashSlot, GetInsecPos(target));
                            }
                        }
                    }
                }
                break;

            case InsecComboStepSelect.Pressr:
                LeeSin.spells[LeeSin.Spells.R].CastOnUnit(target);
                break;
            }
        }
Example #16
0
        private static void InsecCombo(Obj_AI_Hero target)
        {
            if (target != null && target.IsVisible)
            {
                if (Player.Distance(GetInsecPos(target)) < 250)
                {
                    insecComboStep = InsecComboStepSelect.Pressr;
                }
                else if (insecComboStep == InsecComboStepSelect.None &&
                         GetInsecPos(target).Distance(Player.Position) < 600)
                {
                    insecComboStep = InsecComboStepSelect.Wgapclose;
                }
                else if (insecComboStep == InsecComboStepSelect.None &&
                         target.Distance(Player) < spells[Spells.Q].Range)
                {
                    insecComboStep = InsecComboStepSelect.Qgapclose;
                }

                switch (insecComboStep)
                {
                case InsecComboStepSelect.Qgapclose:

                    var prediction = spells[Spells.Q].GetPrediction(target);

                    if (prediction.CollisionObjects.Count > 1 && ParamBool("checkOthers1") && !(target.HasQBuff()) &&
                        QState && spells[Spells.Q].IsReady())
                    {
                        var insMinion = GetInsecMinion(target);
                        if (insMinion != null && spells[Spells.Q].IsReady() &&
                            spells[Spells.Q].GetDamage(insMinion) < insMinion.Health + 10)
                        {
                            spells[Spells.Q].Cast(insMinion);
                        }
                    }

                    if (!(target.HasQBuff()) && QState)
                    {
                        CastQ(target, ParamBool("qSmite"));
                    }
                    else if (target.HasQBuff())
                    {
                        spells[Spells.Q].Cast();
                        insecComboStep = InsecComboStepSelect.Wgapclose;
                    }
                    else
                    {
                        if (spells[Spells.Q].Instance.Name == "blindmonkqtwo" &&
                            ReturnQBuff().Distance(target) <= 600)
                        {
                            spells[Spells.Q].Cast();
                        }
                    }
                    break;

                case InsecComboStepSelect.Wgapclose:
                    if (Player.Distance(target) < 600)
                    {
                        if (FindBestWardItem() == null && GetInsecPos(target).Distance(Player.Position) < 500)
                        {
                            if (spells[Spells.R].IsReady() &&
                                Player.Spellbook.CanUseSpell(flashSlot) == SpellState.Ready &&
                                ParamBool("flashInsec"))        //&& LastWard + 1000 < Environment.TickCount
                            {
                                Player.Spellbook.CastSpell(flashSlot, GetInsecPos(target));
                                return;
                            }
                        }
                        WardJump(GetInsecPos(target), false, false, true);
                    }

                    if (Player.Distance(GetInsecPos(target)) < 200)
                    {
                        spells[Spells.R].Cast(target);
                    }
                    break;

                case InsecComboStepSelect.Pressr:
                    spells[Spells.R].CastOnUnit(target);
                    break;
                }
            }
        }
Example #17
0
        static void Game_OnGameUpdate(EventArgs args)
        {
            if (_player.IsDead)
            {
                return;
            }
            if ((paramBool("insecMode")
                ? SimpleTs.GetSelectedTarget()
                : SimpleTs.GetTarget(Q.Range + 200, SimpleTs.DamageType.Physical)) == null)
            {
                InsecComboStep = InsecComboStepSelect.NONE;
            }
            if (Menu.Item("smiteEnabled").GetValue <KeyBind>().Active)
            {
                smiter();
            }
            if (Menu.Item("starCombo").GetValue <KeyBind>().Active)
            {
                wardCombo();
            }
            if (paramBool("smiteSave"))
            {
                SaveMe();
            }

            if (paramBool("IGNks"))
            {
                Obj_AI_Hero NewTarget = SimpleTs.GetTarget(600, SimpleTs.DamageType.True);

                if (NewTarget != null && IgniteSlot != SpellSlot.Unknown &&
                    _player.SummonerSpellbook.CanUseSpell(IgniteSlot) == SpellState.Ready &&
                    ObjectManager.Player.GetSummonerSpellDamage(NewTarget, Damage.SummonerSpell.Ignite) > NewTarget.Health)
                {
                    _player.SummonerSpellbook.CastSpell(IgniteSlot, NewTarget);
                }
            }
            if (Menu.Item("InsecEnabled").GetValue <KeyBind>().Active)
            {
                if (paramBool("insecOrbwalk"))
                {
                    Orbwalk(Game.CursorPos);
                }
                Obj_AI_Hero newTarget = paramBool("insecMode")
                    ? SimpleTs.GetSelectedTarget()
                    : SimpleTs.GetTarget(Q.Range + 200, SimpleTs.DamageType.Physical);

                if (newTarget != null)
                {
                    InsecCombo(newTarget);
                }
            }
            else
            {
                isNullInsecPos = true;
                wardJumped     = false;
            }
            if (LXOrbwalker.CurrentMode != LXOrbwalker.Mode.Combo)
            {
                InsecComboStep = InsecComboStepSelect.NONE;
            }
            switch (LXOrbwalker.CurrentMode)
            {
            case LXOrbwalker.Mode.Combo:
                StarCombo();
                break;

            case LXOrbwalker.Mode.LaneClear:
                AllClear();
                break;

            case LXOrbwalker.Mode.Harass:
                Harass();
                break;
            }
            if (Menu.Item("wjump").GetValue <KeyBind>().Active)
            {
                wardjumpToMouse();
            }
        }
        public static void InsecCombo(Obj_AI_Hero target)
        {
            if (target == null)
            {
                return;
            }

            if (ObjectManager.Player.Distance(GetInsecPos(target)) < 200)
            {
                insecComboStep = InsecComboStepSelect.Pressr;
            }
            else if ((insecComboStep == InsecComboStepSelect.None)
                     && (GetInsecPos(target).Distance(ObjectManager.Player.Position) < 600))
            {
                insecComboStep = InsecComboStepSelect.Wgapclose;
            }
            else if ((insecComboStep == InsecComboStepSelect.None)
                     && (target.Distance(ObjectManager.Player) < LeeSin.spells[LeeSin.Spells.Q].Range))
            {
                insecComboStep = InsecComboStepSelect.Qgapclose;
            }

            switch (insecComboStep)
            {
                case InsecComboStepSelect.Qgapclose:
                    if (Misc.IsQOne)
                    {
                        var pred1 = LeeSin.spells[LeeSin.Spells.Q].GetPrediction(target);
                        if (pred1.Hitchance >= HitChance.High)
                        {
                            LeeSin.CastQ(target, Misc.GetMenuItem("ElLeeSin.Smite.Q"));
                        }

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

                        var insectObjects =
                            HeroManager.Enemies.Where(
                                    x =>
                                        x.IsValidTarget(LeeSin.spells[LeeSin.Spells.Q].Range) && !x.Compare(target)
                                        && (LeeSin.spells[LeeSin.Spells.Q].GetHealthPrediction(x)
                                            > LeeSin.spells[LeeSin.Spells.Q].GetDamage(x))
                                        && (x.Distance(target) < target.DistanceToPlayer()) && (x.Distance(target) < 750))
                                .Concat(
                                    MinionManager.GetMinions(
                                        ObjectManager.Player.ServerPosition,
                                        LeeSin.spells[LeeSin.Spells.Q].Range,
                                        MinionTypes.All,
                                        MinionTeam.NotAlly))
                                .Where(
                                    m =>
                                        m.IsValidTarget(LeeSin.spells[LeeSin.Spells.Q].Range)
                                        && LeeSin.spells[LeeSin.Spells.Q].GetHealthPrediction(m)
                                        > LeeSin.spells[LeeSin.Spells.Q].GetDamage(m) && m.Distance(target) < 400f)
                                .OrderBy(i => i.Distance(target))
                                .FirstOrDefault();

                        if (insectObjects == null)
                        {
                            return;
                        }

                        LeeSin.spells[LeeSin.Spells.Q].Cast(insectObjects);
                    }

                    if (!target.HasQBuff() && Misc.IsQOne)
                    {
                        LeeSin.CastQ(target, Misc.GetMenuItem("ElLeeSin.Smite.Q"));
                    }
                    else if (target.HasQBuff())
                    {
                        LeeSin.spells[LeeSin.Spells.Q].Cast();
                        insecComboStep = InsecComboStepSelect.Wgapclose;
                    }
                    else
                    {
                        if (LeeSin.spells[LeeSin.Spells.Q].Instance.Name.Equals(
                                "blindmonkqtwo",
                                StringComparison.InvariantCultureIgnoreCase)
                            && (Misc.ReturnQBuff()?.Distance(target) <= 600))
                        {
                            LeeSin.spells[LeeSin.Spells.Q].Cast();
                        }
                    }
                    break;

                case InsecComboStepSelect.Wgapclose:

                    if (ObjectManager.Player.Distance(target) < WardRange)
                    {
                        Wardmanager.WardJump(GetInsecPos(target), false, true, true);

                        if ((Wardmanager.FindBestWardItem() == null) && LeeSin.spells[LeeSin.Spells.R].IsReady()
                            && Misc.GetMenuItem("ElLeeSin.Flash.Insec")
                            && (ObjectManager.Player.Spellbook.CanUseSpell(LeeSin.flashSlot) == SpellState.Ready))
                        {
                            if (((GetInsecPos(target).Distance(ObjectManager.Player.Position) < FlashRange)
                                 && (Wardmanager.LastWard + 1000 < Environment.TickCount)) || !LeeSin.spells[LeeSin.Spells.W].IsReady())
                            {
                                ObjectManager.Player.Spellbook.CastSpell(LeeSin.flashSlot, GetInsecPos(target));
                            }
                        }
                    }
                    else if (ObjectManager.Player.Distance(target) < Misc.WardFlashRange)
                    {
                        Wardmanager.WardJump(target.Position);

                        if (LeeSin.spells[LeeSin.Spells.R].IsReady() && Misc.GetMenuItem("ElLeeSin.Flash.Insec")
                            && (ObjectManager.Player.Spellbook.CanUseSpell(LeeSin.flashSlot) == SpellState.Ready))
                        {
                            if (ObjectManager.Player.Distance(target) < FlashRange - 25)
                            {
                                if ((Wardmanager.FindBestWardItem() == null) || (Wardmanager.LastWard + 1000 < Environment.TickCount))
                                {
                                    ObjectManager.Player.Spellbook.CastSpell(LeeSin.flashSlot, GetInsecPos(target));
                                }
                            }
                        }
                    }
                    break;

                case InsecComboStepSelect.Pressr:
                    LeeSin.spells[LeeSin.Spells.R].CastOnUnit(target);
                    break;
            }
        }
Example #19
0
 static void Game_OnGameUpdate(EventArgs args)
 {
     if(_player.IsDead) return;
     minionerimo = null;
     if(SimpleTs.GetSelectedTarget() == null) InsecComboStep = InsecComboStepSelect.NONE;
     if (Menu.Item("smiteEnabled").GetValue<KeyBind>().Active) smiter();
     if (paramBool("smiteSave")) SaveMe();
     if (Menu.Item("InsecEnabled").GetValue<KeyBind>().Active)
     {
         if (paramBool("insecOrbwalk"))
         {
             Orbwalk(Game.CursorPos);
         }
         
          if(SimpleTs.GetSelectedTarget() != null) InsecCombo(SimpleTs.GetSelectedTarget());
     }
     else
     {
         isNullInsecPos = true;
     }
     if(LXOrbwalker.CurrentMode != LXOrbwalker.Mode.Combo) InsecComboStep = InsecComboStepSelect.NONE;
     switch (LXOrbwalker.CurrentMode)
     {
         case LXOrbwalker.Mode.Combo:
             StarCombo();
             break;
         case LXOrbwalker.Mode.LaneClear:
             AllClear();
             break;
     }
     if(Menu.Item("wjump").GetValue<KeyBind>().Active)
         wardjumpToMouse();
 }
Example #20
0
        private static void Obj_AI_Base_OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
        {
            try
            {
                if (!sender.IsMe)
                {
                    return;
                }

                if (SpellNames.Contains(args.SData.Name.ToLower()))
                {
                    PassiveStacks = 2;
                    passiveTimer = Environment.TickCount + 3000;
                }

                if (args.SData.Name.Equals("BlindMonkQOne", StringComparison.InvariantCultureIgnoreCase))
                {
                    castQAgain = false;
                    Utility.DelayAction.Add(1, () => { castQAgain = true; });
                }

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

                    if (target == null)
                    {
                        return;
                    }
                    if (args.SData.Name.Equals("BlindMonkRKick", StringComparison.InvariantCultureIgnoreCase)
                        && getKeyBindItem(InitMenu.insecMenu, "ElLeeSin.Insec.UseInstaFlash"))
                    {
                        Utility.DelayAction.Add(80, () => Player.Spellbook.CastSpell(flashSlot, GetInsecPos(target)));
                    }
                }

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

                    insecComboStep = InsecComboStepSelect.Pressr;

                    Utility.DelayAction.Add(80, () => spells[Spells.R].CastOnUnit(target));
                }
                if (args.SData.Name.Equals("BlindMonkQTwo", StringComparison.InvariantCultureIgnoreCase))
                {
                    waitingForQ2 = true;
                    Utility.DelayAction.Add(1000, () => { waitingForQ2 = false; });
                }
                if (args.SData.Name.Equals("BlindMonkRKick", StringComparison.InvariantCultureIgnoreCase))
                {
                    insecComboStep = InsecComboStepSelect.None;
                }

                switch (args.SData.Name.ToLower())
                {
                    case "blindmonkqone":
                        LastQ = Environment.TickCount;
                        LastSpell = Environment.TickCount;
                        PassiveStacks = 2;
                        break;
                    case "blindmonkwone":
                        LastW = Environment.TickCount;
                        LastSpell = Environment.TickCount;
                        PassiveStacks = 2;
                        break;
                    case "blindmonkeone":
                        LastE = Environment.TickCount;
                        LastSpell = Environment.TickCount;
                        PassiveStacks = 2;
                        break;
                    case "blindmonkqtwo":
                        LastQ2 = Environment.TickCount;
                        LastSpell = Environment.TickCount;
                        PassiveStacks = 2;
                        CheckQ = false;
                        break;
                    case "blindmonkwtwo":
                        LastW2 = Environment.TickCount;
                        LastSpell = Environment.TickCount;
                        PassiveStacks = 2;
                        break;
                    case "blindmonketwo":
                        LastQ = Environment.TickCount;
                        LastSpell = Environment.TickCount;
                        PassiveStacks = 2;
                        break;
                    case "blindmonkrkick":
                        LastR = Environment.TickCount;
                        LastSpell = Environment.TickCount;
                        PassiveStacks = 2;
                        break;
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occurred: '{0}'", e);
            }
        }
Example #21
0
        private static void OnTick(EventArgs args)
        {
            if (doubleClickReset <= Environment.TickCount && clickCount != 0)
            {
                doubleClickReset = float.MaxValue;
                clickCount       = 0;
            }

            if (passiveTimer <= Environment.TickCount)
            {
                PassiveStacks = 0;
            }

            if (myHero.IsDead || MenuGUI.IsChatOpen || myHero.IsRecalling())
            {
                return;
            }

            if (TargetSelector.GetTarget(Q.Range, DamageType.Physical) == null)
            {
                insecComboStep = InsecComboStepSelect.None;
            }

            if (starCombo)
            {
                WardCombo();
            }

            if (ElLeeSinIgniteKS)
            {
                var newTarget = TargetSelector.GetTarget(600, DamageType.True);

                if (newTarget != null && ignite != null && ignite.IsReady() && ObjectManager.Player.GetSummonerSpellDamage(newTarget, DamageLibrary.SummonerSpells.Ignite) > newTarget.Health)
                {
                    ignite.Cast(newTarget);
                }
            }

            if (InsecEnabled)
            {
                if (insecOrbwalk)
                {
                    Orbwalk(Game.CursorPos);
                }

                var newTarget = TargetSelector.GetTarget(Q.Range, DamageType.Physical);

                if (newTarget != null && R.IsReady())
                {
                    InsecCombo(newTarget);
                }
            }
            else
            {
                isNullInsecPos = true;
            }

            if (!Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
            {
                insecComboStep = InsecComboStepSelect.None;
            }

            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
            {
                Combo();
            }
            else if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear))
            {
                AllClear();
                JungleClear();
            }
            else if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass))
            {
                Harass();
            }

            if (ElLeeSinWardjump)
            {
                Orbwalk(Game.CursorPos);
                WardjumpToMouse();
            }

            if (ElLeeSinInsecUseInstaFlash)
            {
                Orbwalk(Game.CursorPos);

                var target = TargetSelector.GetTarget(flashSlot.Range - 25, DamageType.Physical);

                if (target == null)
                {
                    return;
                }

                if (!R.IsReady() && !flashSlot.IsReady())
                {
                    castR = false;
                    return;
                }

                if (GetInsecPos(target).Distance(myHero.Position) < 425 && ElLeeSinInsecUseInstaFlash && flashSlot.IsReady() && R.IsReady())
                {
                    flashSlot.Cast(GetInsecPos(target));
                    castR = true;
                    return;
                }

                if (R.IsReady() && !target.IsZombie && R.IsInRange(target) && castR)
                {
                    R.Cast(target);
                    castR = false;
                }
            }

            if (ElLeeSinComboNew)
            {
                float leeSinRKickDistance = 700;
                float leeSinRKickWidth    = 100;
                var   minREnemies         = ElLeeSinComboRCount;
                foreach (var enemy in EntityManager.Heroes.Enemies)
                {
                    var startPos  = enemy.ServerPosition;
                    var endPos    = myHero.ServerPosition.Extend(startPos, myHero.Distance(enemy) + leeSinRKickDistance);
                    var rectangle = new Geometry.Polygon.Rectangle(startPos, endPos, leeSinRKickWidth);

                    if (EntityManager.Heroes.Enemies.Count(x => rectangle.IsInside(x)) >= minREnemies)
                    {
                        R.Cast(enemy);
                    }
                }
            }
        }
Example #22
0
 static void InsecCombo(Obj_AI_Hero target)
 {
      if (_player.Distance(getInsecPos(target)) <= 100) InsecComboStep = InsecComboStepSelect.PRESSR;
      else if (InsecComboStep == InsecComboStepSelect.NONE && getInsecPos(target).Distance(_player.Position) < 600) InsecComboStep = InsecComboStepSelect.WGAPCLOSE;
      else if(InsecComboStep == InsecComboStepSelect.NONE && target.Distance(_player) < Q.Range) InsecComboStep = InsecComboStepSelect.QGAPCLOSE; 
      
     switch (InsecComboStep)
     {
         case InsecComboStepSelect.QGAPCLOSE:
             if (!(target.HasBuff("BlindMonkQOne", true) || target.HasBuff("blindmonkqonechaos", true)) && Q.Instance.Name == "BlindMonkQOne")
             {
                 CastQ1(target);
             }
             else if ((target.HasBuff("BlindMonkQOne", true) || target.HasBuff("blindmonkqonechaos", true)))
             {
                 Q.Cast();
                 InsecComboStep = InsecComboStepSelect.WGAPCLOSE;
             }
             break;
         case InsecComboStepSelect.WGAPCLOSE:
             WardJump(getInsecPos(target), false, false, true);
             break;
         case InsecComboStepSelect.PRESSR:
             R.CastOnUnit(target, true);
             break;
             
     }
 }
Example #23
0
        private static void Game_OnGameUpdate(EventArgs args)
        {
            try
            {
                if (doubleClickReset <= Environment.TickCount && clickCount != 0)
                {
                    doubleClickReset = float.MaxValue;
                    clickCount = 0;
                }

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

                if (passiveTimer <= Environment.TickCount)
                {
                    PassiveStacks = 0;
                }

                if (resetTime <= Environment.TickCount && !getKeyBindItem(InitMenu.insecMenu, "InsecEnabled")
                    && ClicksecEnabled)
                {
                    ClicksecEnabled = false;
                }

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

                if (Player.IsDead || Player.LSIsRecalling())
                {
                    return;
                }

                if ((getCheckBoxItem(InitMenu.insecMenu, "insecMode")
                         ? TargetSelector.SelectedTarget
                         : TargetSelector.GetTarget(spells[Spells.Q].Range, DamageType.Physical)) == null)
                {
                    insecComboStep = InsecComboStepSelect.None;
                }

                if (getKeyBindItem(InitMenu.comboMenu, "starCombo"))
                {
                    WardCombo();
                }

                if (getCheckBoxItem(InitMenu.miscMenu, "ElLeeSin.Ignite.KS"))
                {
                    var newTarget = TargetSelector.GetTarget(600f, DamageType.True);

                    if (newTarget != null && igniteSlot != SpellSlot.Unknown
                        && Player.Spellbook.CanUseSpell(igniteSlot) == SpellState.Ready
                        && ObjectManager.Player.GetSummonerSpellDamage(newTarget, Damage.SummonerSpell.Ignite)
                        > newTarget.Health)
                    {
                        Player.Spellbook.CastSpell(igniteSlot, newTarget);
                    }
                }

                if (getKeyBindItem(InitMenu.insecMenu, "InsecEnabled") && spells[Spells.R].IsReady())
                {
                    if (getCheckBoxItem(InitMenu.insecMenu, "insecOrbwalk"))
                    {
                        Orbwalk(Game.CursorPos);
                    }

                    var newTarget = getCheckBoxItem(InitMenu.insecMenu, "insecMode")
                                        ? TargetSelector.SelectedTarget
                                        : TargetSelector.GetTarget(
                                            spells[Spells.Q].Range,
                                            DamageType.Physical);

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

                if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
                {
                    insecComboStep = InsecComboStepSelect.None;
                }

                if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
                {
                    Combo();
                }

                if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) ||
                    Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear))
                {
                    AllClear();
                    JungleClear();
                }

                if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass))
                {
                    Harass();
                }

                if (getKeyBindItem(InitMenu.wardjumpMenu, "ElLeeSin.Wardjump"))
                {
                    WardjumpToMouse();
                }

                if (getKeyBindItem(InitMenu.insecMenu, "ElLeeSin.Insec.UseInstaFlash"))
                {
                    var target = TargetSelector.GetTarget(spells[Spells.R].Range, DamageType.Physical);
                    if (target == null)
                    {
                        return;
                    }

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

                if (getCheckBoxItem(InitMenu.kickMenu, "ElLeeSin.Combo.New"))
                {
                    float leeSinRKickDistance = 700;
                    float leeSinRKickWidth = 100;
                    var minREnemies = getSliderItem(InitMenu.kickMenu, "ElLeeSin.Combo.R.Count");
                    foreach (var enemy in HeroManager.Enemies)
                    {
                        var startPos = enemy.ServerPosition;
                        var endPos = Player.ServerPosition.ELExtend(
                            startPos,
                            Player.ELDistance(enemy) + leeSinRKickDistance);
                        var rectangle = new Geometry.Polygon.Rectangle(startPos, endPos, leeSinRKickWidth);

                        if (HeroManager.Enemies.Count(x => rectangle.IsInside(x)) >= minREnemies)
                        {
                            spells[Spells.R].Cast(enemy);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occurred: '{0}'", e);
            }
        }
Example #24
0
        private static void Game_OnGameUpdate(EventArgs args)
        {
            if (doubleClickReset <= Environment.TickCount && clickCount != 0)
            {
                doubleClickReset = float.MaxValue;
                clickCount = 0;
            }

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

            if (passiveTimer <= Environment.TickCount)
            {
                passiveStacks = 0;
            }

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

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

            if (Player.IsDead)
            {
                return;
            }

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

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

            if (ParamBool("IGNks"))
            {
                var newTarget = TargetSelector.GetTarget(600, TargetSelector.DamageType.True);

                if (newTarget != null && igniteSlot != SpellSlot.Unknown
                    && Player.Spellbook.CanUseSpell(igniteSlot) == SpellState.Ready
                    && ObjectManager.Player.GetSummonerSpellDamage(newTarget, Damage.SummonerSpell.Ignite)
                    > newTarget.Health)
                {
                    Player.Spellbook.CastSpell(igniteSlot, newTarget);
                }
            }

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

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

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

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

            switch (Orbwalker.ActiveMode)
            {
                case Orbwalking.OrbwalkingMode.Combo:
                    StarCombo();
                    break;
                case Orbwalking.OrbwalkingMode.LaneClear:
                    AllClear();
                    JungleClear();
                    break;
                case Orbwalking.OrbwalkingMode.Mixed:
                    Harass();
                    break;
            }

            if (InitMenu.Menu.Item("ElLeeSin.Wardjump").GetValue<KeyBind>().Active)
            {
                WardjumpToMouse();
            }
        }
Example #25
0
        private static void InsecCombo(AIHeroClient target)
        {
            try
            {
                if (target != null && target.IsVisible)
                {
                    if (Player.ELDistance(GetInsecPos(target)) < 200)
                    {
                        insecComboStep = InsecComboStepSelect.Pressr;
                    }
                    else if (insecComboStep == InsecComboStepSelect.None
                             && GetInsecPos(target).ELDistance(Player.Position) < 600)
                    {
                        insecComboStep = InsecComboStepSelect.Wgapclose;
                    }
                    else if (insecComboStep == InsecComboStepSelect.None
                             && target.ELDistance(Player) < spells[Spells.Q].Range)
                    {
                        insecComboStep = InsecComboStepSelect.Qgapclose;
                    }

                    switch (insecComboStep)
                    {
                        case InsecComboStepSelect.Qgapclose:
                            if (QState)
                            {
                                var pred1 = spells[Spells.Q].GetPrediction(target);
                                if (pred1.Hitchance >= HitChance.High)
                                {
                                    if (pred1.CollisionObjects.Count == 0)
                                    {
                                        if (spells[Spells.Q].Cast(pred1.CastPosition))
                                        {
                                            return;
                                        }
                                    }
                                    else
                                    {
                                        CastQ(target);
                                    }
                                }

                                if (!getCheckBoxItem(InitMenu.insecMenu, "checkOthers1"))
                                {
                                    return;
                                }

                                var insecObjects =
                                    HeroManager.Enemies.Where(
                                        x => x.LSIsValidTarget(spells[Spells.Q].Range) && x.ELDistance(target) < 550f)
                                        .Concat(MinionManager.GetMinions(Player.ServerPosition, spells[Spells.Q].Range))
                                        .Where(
                                            m =>
                                            m.LSIsValidTarget(spells[Spells.Q].Range)
                                            && spells[Spells.Q].GetDamage(m) < m.Health + 15
                                            && m.ELDistance(target) < 400f)
                                        .ToList();

                                if (insecObjects.Count > 0)
                                {
                                    foreach (var insectObject in
                                        insecObjects.Select(i => spells[Spells.Q].GetPrediction(i))
                                            .Where(i => i.Hitchance >= HitChance.High)
                                            .OrderByDescending(i => i.Hitchance))
                                    {
                                        spells[Spells.Q].Cast(insectObject.CastPosition);
                                        break;
                                    }
                                }
                                else
                                {
                                    return;
                                }
                            }

                            if (!(target.HasQBuff()) && QState)
                            {
                                CastQ(target);
                            }
                            else if (target.HasQBuff())
                            {
                                spells[Spells.Q].Cast();
                                insecComboStep = InsecComboStepSelect.Wgapclose;
                            }
                            else
                            {
                                if (spells[Spells.Q].Instance.Name.Equals(
                                    "blindmonkqtwo",
                                    StringComparison.InvariantCultureIgnoreCase)
                                    && ReturnQBuff()?.ELDistance(target) <= 600)
                                {
                                    spells[Spells.Q].Cast();
                                }
                            }
                            break;

                        case InsecComboStepSelect.Wgapclose:

                            if (Player.ELDistance(target) < WardRange)
                            {
                                WardJump(GetInsecPos(target), false, true, true);

                                if (FindBestWardItem() == null && spells[Spells.R].IsReady()
                                    && getCheckBoxItem(InitMenu.insecMenu, "ElLeeSin.Flash.Insec")
                                    && Player.Spellbook.CanUseSpell(flashSlot) == SpellState.Ready)
                                {
                                    if ((GetInsecPos(target).ELDistance(Player.Position) < FlashRange
                                         && LastWard + 1000 < Environment.TickCount) || !spells[Spells.W].IsReady())
                                    {
                                        Player.Spellbook.CastSpell(flashSlot, GetInsecPos(target));
                                    }
                                }
                            }
                            else if (Player.ELDistance(target) < WardFlashRange)
                            {
                                WardJump(target.Position);

                                if (spells[Spells.R].IsReady() && getCheckBoxItem(InitMenu.insecMenu, "ElLeeSin.Flash.Insec")
                                    && Player.Spellbook.CanUseSpell(flashSlot) == SpellState.Ready)
                                {
                                    if (Player.ELDistance(target) < FlashRange - 25)
                                    {
                                        if (FindBestWardItem() == null || LastWard + 1000 < Environment.TickCount)
                                        {
                                            Player.Spellbook.CastSpell(flashSlot, GetInsecPos(target));
                                        }
                                    }
                                }
                            }
                            break;

                        case InsecComboStepSelect.Pressr:
                            spells[Spells.R].CastOnUnit(target);
                            break;
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occurred: '{0}'", e);
            }
        }
Example #26
0
        private static void Obj_AI_Base_OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
        {
            if (!sender.IsMe)
            {
                return;
            }
            if (SpellNames.Contains(args.SData.Name))
            {
                passiveStacks = 2;
                passiveTimer = Environment.TickCount + 3000;
            }

            if (args.SData.Name == "BlindMonkQOne")
            {
                castQAgain = false;
                Utility.DelayAction.Add(2900, () => { castQAgain = true; });
            }
            //
            if (ParamBool("ElLeeSin.Insec.UseInstaFlash")
                && InitMenu.Menu.Item("ElLeeSin.Insec.Insta.Flash").GetValue<KeyBind>().Active
                && args.SData.Name == "BlindMonkRKick")
            {
                Player.Spellbook.CastSpell(flashSlot, GetInsecPos((Obj_AI_Hero)(args.Target)));
            }

            if (args.SData.Name == "summonerflash" && insecComboStep != InsecComboStepSelect.None)
            {
                var target = ParamBool("insecMode")
                                 ? TargetSelector.GetSelectedTarget()
                                 : TargetSelector.GetTarget(
                                     spells[Spells.Q].Range + 200,
                                     TargetSelector.DamageType.Physical);
                insecComboStep = InsecComboStepSelect.Pressr;
                Utility.DelayAction.Add(80, () => spells[Spells.R].CastOnUnit(target, true));
            }
            if (args.SData.Name == "blindmonkqtwo")
            {
                waitingForQ2 = true;
                Utility.DelayAction.Add(3000, () => { waitingForQ2 = false; });
            }
            if (args.SData.Name == "BlindMonkRKick")
            {
                insecComboStep = InsecComboStepSelect.None;
            }
        }
Example #27
0
        private static void InsecCombo(Obj_AI_Hero target)
        {
            if (target != null && target.IsVisible)
            {
                if (Player.Distance(GetInsecPos(target)) < 200)
                {
                    insecComboStep = InsecComboStepSelect.Pressr;
                }
                else if (insecComboStep == InsecComboStepSelect.None &&
                         GetInsecPos(target).Distance(Player.Position) < 600)
                {
                    insecComboStep = InsecComboStepSelect.Wgapclose;
                }
                else if (insecComboStep == InsecComboStepSelect.None &&
                         target.Distance(Player) < spells[Spells.Q].Range)
                {
                    insecComboStep = InsecComboStepSelect.Qgapclose;
                }

                switch (insecComboStep)
                {
                case InsecComboStepSelect.Qgapclose:

                    if (!(target.HasQBuff()) && QState)
                    {
                        if (ParamBool("checkOthers"))
                        {
                            foreach (var insecMinion in
                                     ObjectManager.Get <Obj_AI_Minion>()
                                     .Where(
                                         x =>
                                         x.Health > spells[Spells.Q].GetDamage(x) && x.IsValidTarget() &&
                                         x.Distance(GetInsecPos(target)) < 0x1c2)
                                     .ToList())
                            {
                                spells[Spells.Q].Cast(insecMinion);
                            }
                        }

                        CastQ(target, ParamBool("qSmite"));
                    }

                    else if (target.HasQBuff())
                    {
                        spells[Spells.Q].Cast();
                        insecComboStep = InsecComboStepSelect.Wgapclose;
                    }
                    else
                    {
                        if (spells[Spells.Q].Instance.Name == "blindmonkqtwo" &&
                            ReturnQBuff().Distance(target) <= 600)
                        {
                            spells[Spells.Q].Cast();
                        }
                    }
                    break;

                case InsecComboStepSelect.Wgapclose:
                    if (Player.Distance(target) < 600)
                    {
                        if (FindBestWardItem() == null && GetInsecPos(target).Distance(Player.Position) < 400)
                        {
                            if (spells[Spells.R].IsReady() &&
                                Player.Spellbook.CanUseSpell(flashSlot) == SpellState.Ready &&
                                ParamBool("flashInsec") && LastWard + 1000 < Environment.TickCount)
                            {
                                Player.Spellbook.CastSpell(flashSlot, GetInsecPos(target));
                                return;
                            }
                        }
                        WardJump(GetInsecPos(target), false, false, true);
                    }

                    if (Player.Distance(GetInsecPos(target)) < 200)
                    {
                        spells[Spells.R].Cast(target);
                    }
                    break;

                case InsecComboStepSelect.Pressr:
                    spells[Spells.R].CastOnUnit(target);
                    break;
                }
            }
        }