Exemplo n.º 1
0
        private void Harass()
        {
            if (targetObj == null)
            {
                CurHarassStage = HarassStage.Nothing;
                return;
            }
            switch (CurHarassStage)
            {
            case HarassStage.Nothing:
                CurHarassStage = HarassStage.Doing;
                break;

            case HarassStage.Doing:
                if (SkillQ.IsReady())
                {
                    if (SkillQ.Instance.Name == "BlindMonkQOne" && SkillQ.InRange(targetObj.Position))
                    {
                        if (ItemBool("Misc", "SmiteCol"))
                        {
                            if (!SmiteCollision(targetObj, SkillQ))
                            {
                                SkillQ.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast());
                            }
                        }
                        else
                        {
                            SkillQ.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast());
                        }
                    }
                    else if ((targetObj.HasBuff("BlindMonkQOne", true) || targetObj.HasBuff("blindmonkqonechaos", true)) && IsValid(targetObj, 1300) && (CanKill(targetObj, SkillQ, 1) || (SkillW.IsReady() && SkillW.Instance.Name == "BlindMonkWOne" && Player.Mana >= SkillW.Instance.ManaCost + ((ItemBool("Harass", "E") && SkillE.IsReady() && SkillE.Instance.Name == "BlindMonkEOne") ? SkillQ.Instance.ManaCost + SkillE.Instance.ManaCost : SkillQ.Instance.ManaCost) && Player.Health * 100 / Player.MaxHealth >= ItemSlider("Harass", "Q2Above"))))
                    {
                        HarrasBackPos = Player.ServerPosition;
                        SkillQ.Cast(PacketCast());
                        Utility.DelayAction.Add((int)((Player.Distance3D(targetObj) + ((ItemBool("Harass", "E") && SkillE.IsReady() && SkillE.Instance.Name == "BlindMonkEOne") ? SkillE.Range : 0)) / SkillQ.Speed * 1000 - 100) * 2, () => CurHarassStage = HarassStage.Finish);
                    }
                }
                if (ItemBool("Harass", "E") && SkillE.IsReady())
                {
                    if (SkillE.Instance.Name == "BlindMonkEOne" && SkillE.InRange(targetObj.Position))
                    {
                        SkillE.Cast(PacketCast());
                    }
                    else if (targetObj.HasBuff("BlindMonkEOne", true) && IsValid(targetObj, 575))
                    {
                        CurHarassStage = HarassStage.Finish;
                    }
                }
                break;

            case HarassStage.Finish:
                if (SkillW.IsReady() && SkillW.Instance.Name == "BlindMonkWOne")
                {
                    var jumpObj = ObjectManager.Get <Obj_AI_Base>().Where(i => IsValid(i, SkillW.Range + i.BoundingRadius, false) && !(i is Obj_AI_Turret)).OrderByDescending(i => i.Distance3D(Player)).OrderBy(i => ObjectManager.Get <Obj_AI_Turret>().Where(a => IsValid(a, float.MaxValue, false)).OrderBy(a => a.Distance3D(Player)).FirstOrDefault().Distance3D(i));
                    if (jumpObj.Count() > 0 && !JumpCasted)
                    {
                        foreach (var Obj in jumpObj)
                        {
                            SkillW.CastOnUnit(Obj, PacketCast());
                        }
                    }
                    else if (GetWardSlot() != null || GetWardSlot().Stacks > 0 || WardCasted)
                    {
                        WardJump(HarrasBackPos);
                    }
                }
                else
                {
                    if (HarrasBackPos != default(Vector3))
                    {
                        HarrasBackPos = default(Vector3);
                    }
                    CurHarassStage = HarassStage.Nothing;
                }
                break;
            }
        }
Exemplo n.º 2
0
        private void OnGameUpdate(EventArgs args)
        {
            if (Player.IsDead || MenuGUI.IsChatOpen)
            {
                return;
            }
            if (ItemList("Insec", "Mode") == 1)
            {
                if (SkillR.IsReady())
                {
                    allyObj = IsValid(allyObj, float.MaxValue, false) ? allyObj : null;
                }
                else if (allyObj != null)
                {
                    allyObj = null;
                }
            }
            switch (Orbwalk.CurrentMode)
            {
            case Orbwalk.Mode.Combo:
                NormalCombo();
                break;

            case Orbwalk.Mode.Harass:
                Harass();
                break;

            case Orbwalk.Mode.LaneClear:
                LaneJungClear();
                break;

            case Orbwalk.Mode.LaneFreeze:
                LaneJungClear();
                break;

            case Orbwalk.Mode.LastHit:
                LastHit();
                break;

            case Orbwalk.Mode.Flee:
                WardJump(Game.CursorPos);
                break;
            }
            if (Orbwalk.CurrentMode != Orbwalk.Mode.Harass)
            {
                CurHarassStage = HarassStage.Nothing;
            }
            if (ItemActive("StarCombo"))
            {
                StarCombo();
            }
            if (ItemActive("InsecCombo"))
            {
                InsecCombo();
            }
            else
            {
                InsecJumpCasted = false;
            }
            if (ItemActive("KSMob"))
            {
                KillStealMob();
            }
        }
Exemplo n.º 3
0
        private void Harass()
        {
            if (targetObj == null)
            {
                CurHarassStage = HarassStage.Nothing;
                return;
            }
            switch (CurHarassStage)
            {
            case HarassStage.Nothing:
                CurHarassStage = HarassStage.Doing;
                break;

            case HarassStage.Doing:
                if (ItemBool("Harass", "Q") && Q.IsReady())
                {
                    if (Q.Instance.Name == "BlindMonkQOne" && Q.IsInRange(targetObj.Position))
                    {
                        if (ItemBool("Misc", "SmiteCol"))
                        {
                            if (!SmiteCollision(targetObj, Q))
                            {
                                Q.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast());
                            }
                        }
                        else
                        {
                            Q.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast());
                        }
                    }
                    else if (targetObj.HasBuff("BlindMonkSonicWave") && Q2.IsInRange(targetObj.Position) && (CanKill(targetObj, Q2, 1) || (W.IsReady() && W.Instance.Name == "BlindMonkWOne" && Player.Mana >= W.Instance.ManaCost + (ItemBool("Harass", "E") && E.IsReady() && E.Instance.Name == "BlindMonkEOne" ? Q.Instance.ManaCost + E.Instance.ManaCost : Q.Instance.ManaCost) && Player.HealthPercentage() >= ItemSlider("Harass", "Q2Above"))))
                    {
                        HarassBackPos = Player.ServerPosition;
                        Q.Cast(PacketCast());
                        Utility.DelayAction.Add((int)((Player.Distance3D(targetObj) + (ItemBool("Harass", "E") && E.IsReady() && E.Instance.Name == "BlindMonkEOne" ? E.Range : 0)) / Q.Speed * 1000 - 100) * 2, () => CurHarassStage = HarassStage.Finish);
                    }
                }
                if (ItemBool("Harass", "E") && E.IsReady())
                {
                    if (E.Instance.Name == "BlindMonkEOne" && E.IsInRange(targetObj.Position))
                    {
                        E.Cast(PacketCast());
                    }
                    else if (targetObj.HasBuff("BlindMonkTempest") && E2.IsInRange(targetObj.Position))
                    {
                        CurHarassStage = HarassStage.Finish;
                    }
                }
                break;

            case HarassStage.Finish:
                if (W.IsReady() && W.Instance.Name == "BlindMonkWOne")
                {
                    var jumpObj = ObjectManager.Get <Obj_AI_Base>().Where(i => IsValid(i, W.Range + i.BoundingRadius, false) && !(i is Obj_AI_Turret) && i.Distance3D(targetObj) >= 450).OrderByDescending(i => i.Distance3D(Player)).OrderBy(i => ObjectManager.Get <Obj_AI_Turret>().Where(a => IsValid(a, float.MaxValue, false)).OrderBy(a => a.Distance3D(Player)).FirstOrDefault().Distance3D(i));
                    if (jumpObj.Count() > 0 && !JumpCasted)
                    {
                        foreach (var Obj in jumpObj)
                        {
                            W.CastOnUnit(Obj, PacketCast());
                        }
                    }
                    else if (ItemBool("Harass", "WBackWard") && (GetWardSlot() != null || WardCasted))
                    {
                        WardJump(HarassBackPos);
                    }
                }
                else
                {
                    if (HarassBackPos != default(Vector3))
                    {
                        HarassBackPos = default(Vector3);
                    }
                    CurHarassStage = HarassStage.Nothing;
                }
                break;
            }
        }
Exemplo n.º 4
0
        public static void Harass(Obj_AI_Hero targetHero, bool useW = true)
        {
            if (!targetHero.IsValidTarget())
            {
                _harassStage = HarassStage.Nothing;
                return;
            }
            switch (_harassStage)
            {
            case HarassStage.Nothing:
                _harassStage = HarassStage.Started;
                break;

            case HarassStage.Started:
                _harassStage = HarassStage.Doing;
                if (E.IsReady() &&
                    Vector3.DistanceSquared(Player.ServerPosition, targetHero.ServerPosition) <= 350 * 350 &&
                    LeeUtility.MenuParamBool("UseE1H"))
                {
                    E.Cast();
                    if (LeeUtility.MenuParamBool("UseE2H"))
                    {
                        Utility.DelayAction.Add(
                            250 - Game.Ping / 2 + 10, () =>
                        {
                            E.Cast(Player, true);
                            _harassStage = LeeUtility.MenuParamBool("UseQ1H") && Q.IsReady()
                                        ? HarassStage.Doing
                                        : HarassStage.Finished;
                        });
                    }
                }
                else
                {
                    _harassStage = HarassStage.Finished;
                }
                if (Q.IsReady() && LeeUtility.MenuParamBool("UseQ1H"))
                {
                    //LeeUtility.CastQ(targetHero, QMode.Harass);
                    if (LeeUtility.CastQ(targetHero, QMode.Harass) && LeeUtility.MenuParamBool("UseQ2H"))
                    {
                        var delay = (int)(targetHero.Distance(Player) / Q.Speed * 1000) + 300 + Game.Ping;
                        Utility.DelayAction.Add(
                            delay, () =>
                        {
                            if (Vector3.DistanceSquared(_harassInitialVector3, Player.ServerPosition) <= 600 * 600)
                            {
                                _harassInitialVector3 = Player.ServerPosition;
                            }
                            Q.Cast(targetHero);
                        });
                        Utility.DelayAction.Add(delay * 2, () => _harassStage = HarassStage.Finished);
                    }
                    else
                    {
                        _harassStage = HarassStage.Finished;
                    }
                }
                else
                {
                    _harassStage = HarassStage.Finished;
                }
                break;

            case HarassStage.Doing:
                break;

            case HarassStage.Finished:
                if (LeeUtility.MenuParamBool("UseWH") && useW)
                {
                    LeeUtility.WardJump(_harassInitialVector3, LeeUtility.MenuParamBool("UseWardWH"));
                }
                _harassStage = HarassStage.Nothing;
                break;
            }
        }
Exemplo n.º 5
0
        private void OnGameUpdate(EventArgs args)
        {
            if (Player.IsDead || MenuGUI.IsChatOpen || Player.IsChannelingImportantSpell() || Player.IsRecalling())
            {
                return;
            }
            if (ItemList("Insec", "Mode") == 1)
            {
                if (R.IsReady())
                {
                    allyObj = (allyObj.IsValid && !allyObj.IsDead) ? allyObj : null;
                }
                else if (allyObj != null)
                {
                    allyObj = null;
                }
            }
            switch (Orbwalk.CurrentMode)
            {
            case Orbwalk.Mode.Combo:
                NormalCombo();
                break;

            case Orbwalk.Mode.Harass:
                Harass();
                break;

            case Orbwalk.Mode.LaneClear:
                LaneJungClear();
                break;

            case Orbwalk.Mode.LastHit:
                LastHit();
                break;

            case Orbwalk.Mode.Flee:
                WardJump(Game.CursorPos);
                break;
            }
            if (Orbwalk.CurrentMode != Orbwalk.Mode.Harass)
            {
                CurHarassStage = HarassStage.Nothing;
            }
            if (ItemActive("StarCombo"))
            {
                StarCombo();
            }
            if (ItemActive("InsecCombo"))
            {
                InsecCombo();
            }
            else
            {
                InsecJumpCasted = false;
            }
            if (ItemActive("KSMob"))
            {
                KillStealMob();
            }
            if (ItemBool("Misc", "WSurvive") && W.IsReady() && W.Instance.Name == "BlindMonkWOne")
            {
                TrySurvive(W.Slot);
            }
        }