Exemplo n.º 1
0
 private void InsecCombo()
 {
     CustomOrbwalk(targetObj);
     if (targetObj == null)
     {
         return;
     }
     if (GetInsecPos() != default(Vector3))
     {
         if (SkillR.InRange(targetObj.Position) && (GetInsecPos(true).Distance(targetObj.Position) - GetInsecPos(true).Distance(Player.Position.To2D().Extend(targetObj.Position.To2D(), targetObj.Distance3D(Player) + 500).To3D())) / 500 > 0.7)
         {
             SkillR.CastOnUnit(targetObj, PacketCast());
             return;
         }
         if (SkillW.IsReady() && SkillW.Instance.Name == "BlindMonkWOne" && Player.Position.Distance(GetInsecPos()) < 600 && (GetWardSlot() != null || GetWardSlot().Stacks > 0 || WardCasted))
         {
             WardJump(GetInsecPos());
             if (ItemBool("Insec", "Flash"))
             {
                 InsecJumpCasted = true;
             }
             return;
         }
         if (ItemBool("Insec", "Flash") && FlashReady() && !InsecJumpCasted && !WardCasted)
         {
             var jumpObj = ObjectManager.Get <Obj_AI_Base>().Where(i => IsValid(i, SkillW.Range + i.BoundingRadius, false) && !(i is Obj_AI_Turret) && i.Position.Distance(GetInsecPos()) < 500).OrderBy(i => i.Position.Distance(GetInsecPos()));
             if (jumpObj.Count() > 0 && !JumpCasted)
             {
                 foreach (var Obj in jumpObj)
                 {
                     if (Player.Position.Distance(GetInsecPos()) < Player.Distance3D(Obj) + Obj.Position.Distance(GetInsecPos()) && !FlyCasted)
                     {
                         if (SkillW.IsReady() && SkillW.Instance.Name == "BlindMonkWOne")
                         {
                             SkillW.CastOnUnit(Obj, PacketCast());
                             return;
                         }
                     }
                 }
             }
             else if (Player.Position.Distance(GetInsecPos()) < 600 && !JumpCasted)
             {
                 CastFlash(GetInsecPos());
                 return;
             }
         }
     }
     if (SkillQ.IsReady())
     {
         if (SkillQ.Instance.Name == "BlindMonkQOne" && SkillQ.InRange(targetObj.Position))
         {
             var nearObj = ObjectManager.Get <Obj_AI_Base>().Where(i => IsValid(i, SkillQ.Range) && !(i is Obj_AI_Turret) && i.Position.Distance(GetInsecPos()) < 500 && !CanKill(i, SkillQ)).OrderBy(i => i.Position.Distance(GetInsecPos()));
             if (GetInsecPos() != default(Vector3) && nearObj.Count() > 0)
             {
                 foreach (var Obj in nearObj)
                 {
                     SkillQ.CastIfHitchanceEquals(Obj, HitChance.VeryHigh, PacketCast());
                 }
             }
             else
             {
                 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) || (!SkillR.IsReady() && !RCasted && KickCasted) || Player.Position.Distance((GetInsecPos() != default(Vector3)) ? GetInsecPos() : targetObj.Position) > 600 || !QCasted))
         {
             SkillQ.Cast(PacketCast());
         }
         else if (GetInsecPos() != default(Vector3) && ObjectManager.Get <Obj_AI_Base>().FirstOrDefault(i => (i.HasBuff("BlindMonkQOne", true) || i.HasBuff("blindmonkqonechaos", true)) && IsValid(i, 1300) && i.Position.Distance(GetInsecPos()) < 500) != null)
         {
             SkillQ.Cast(PacketCast());
         }
     }
 }
Exemplo n.º 2
0
        private void InsecCombo()
        {
            Orbwalk(targetObj);
            if (targetObj == null)
            {
                return;
            }
            Vector3 posJumpTo = default(Vector3);

            if (SkillR.IsReady() && (Config.Item(Name + "insecMode").GetValue <StringList>().SelectedIndex == 2 || (Config.Item(Name + "insecMode").GetValue <StringList>().SelectedIndex != 2 && allyObj != null)))
            {
                var posKickTo = (Config.Item(Name + "insecMode").GetValue <StringList>().SelectedIndex != 2) ? allyObj.Position : Game.CursorPos;
                posJumpTo = posKickTo + Vector3.Normalize(targetObj.Position - posKickTo) * (targetObj.Distance(posKickTo) + 250);
                if (SkillR.InRange(targetObj.Position))
                {
                    var posKick  = Player.Position + Vector3.Normalize(targetObj.Position - Player.Position) * (targetObj.Distance(Player) + 250);
                    var distKick = (Config.Item(Name + "insecMode").GetValue <StringList>().SelectedIndex != 2) ? allyObj.Distance(targetObj) - allyObj.Distance(posKick) : Game.CursorPos.Distance(targetObj.Position) - Game.CursorPos.Distance(posKick);
                    if (distKick > 0 && distKick / 250 > 0.7)
                    {
                        SkillR.CastOnUnit(targetObj, PacketCast);
                        return;
                    }
                }
                if (Config.Item(Name + "insecFlash").GetValue <bool>())
                {
                    if (SkillW.IsReady() && SkillW.Instance.Name == "BlindMonkWOne" && Player.Distance(posJumpTo) < 600 && GetWardSlot() != null)
                    {
                        WardJump(posJumpTo);
                        InsecJumpCasted = true;
                        return;
                    }
                    else if (FlashReady() && !InsecJumpCasted)
                    {
                        var Obj = ObjectManager.Get <Obj_AI_Base>().Where(i => !i.IsMe && i.IsAlly && !(i is Obj_AI_Turret) && i.Distance(Player) <= SkillW.Range + i.BoundingRadius && i.Distance(posJumpTo) < 550).OrderBy(i => i.Distance(posJumpTo)).FirstOrDefault();
                        if (Obj != null)
                        {
                            if (Player.Distance(posJumpTo) < 1000 && !FlyCasted)
                            {
                                if (SkillW.IsReady() && SkillW.Instance.Name == "BlindMonkWOne" && !JumpCasted)
                                {
                                    SkillW.CastOnUnit(Obj, PacketCast);
                                    JumpCasted = true;
                                    Utility.DelayAction.Add(1000, () => JumpCasted = false);
                                }
                                if (SkillW.IsReady() && SkillW.Instance.Name != "BlindMonkWOne" && JumpCasted)
                                {
                                    Utility.DelayAction.Add(400, () =>
                                    {
                                        CastFlash(posJumpTo);
                                        SkillR.CastOnUnit(targetObj, PacketCast);
                                    });
                                    return;
                                }
                            }
                        }
                        else if (!JumpCasted && Player.Distance(posJumpTo) < 600)
                        {
                            CastFlash(posJumpTo);
                            return;
                        }
                    }
                }
                else if (SkillW.IsReady() && SkillW.Instance.Name == "BlindMonkWOne" && Player.Distance(posJumpTo) < 600)
                {
                    WardJump(posJumpTo);
                    return;
                }
            }
            if (SkillQ.IsReady())
            {
                if (SkillQ.Instance.Name == "BlindMonkQOne" && SkillQ.InRange(targetObj.Position))
                {
                    if (Config.Item(Name + "smite").GetValue <bool>() && SkillQ.GetPrediction(targetObj).Hitchance == HitChance.Collision)
                    {
                        if (!SmiteCollision(targetObj, SkillQ))
                        {
                            SkillQ.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast);
                        }
                    }
                    else
                    {
                        if (posJumpTo != default(Vector3) && SkillR.IsReady())
                        {
                            var enemyObj = ObjectManager.Get <Obj_AI_Base>().FirstOrDefault(i => i.IsValidTarget(SkillQ.Range) && i.Distance(posJumpTo) < 550 && SkillQ.GetPrediction(i).Hitchance >= HitChance.Medium && !CanKill(i, SkillQ));
                            SkillQ.CastIfHitchanceEquals((enemyObj != null) ? enemyObj : targetObj, (enemyObj != null) ? HitChance.Medium : HitChance.VeryHigh, PacketCast);
                        }
                        else
                        {
                            SkillQ.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast);
                        }
                    }
                }
                else
                {
                    if ((targetObj.HasBuff("BlindMonkQOne", true) || targetObj.HasBuff("blindmonkqonechaos", true)) && targetObj.IsValidTarget(1300))
                    {
                        if (CanKill(targetObj, SkillQ, 1) || (!SkillR.IsReady() && !RCasted && KickCasted) || Player.Distance(SkillR.IsReady() ? posJumpTo : targetObj.Position) > 600 || !QCasted)
                        {
                            SkillQ.Cast(PacketCast);
                        }
                    }
                    else if (posJumpTo != default(Vector3) && SkillR.IsReady())
                    {
                        if (ObjectManager.Get <Obj_AI_Base>().FirstOrDefault(i => (i.HasBuff("BlindMonkQOne", true) || i.HasBuff("blindmonkqonechaos", true)) && i.IsValidTarget(1300) && i.Distance(posJumpTo) < 550) != null)
                        {
                            SkillQ.Cast(PacketCast);
                        }
                    }
                }
            }
        }
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 (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.º 4
0
 private void NormalCombo()
 {
     if (targetObj == null)
     {
         return;
     }
     if (ItemBool("Combo", "Passive") && Player.HasBuff("BlindMonkFlurry") && Orbwalk.InAutoAttackRange(targetObj) && Orbwalk.CanAttack())
     {
         return;
     }
     if (ItemBool("Combo", "E") && SkillE.IsReady())
     {
         if (SkillE.Instance.Name == "BlindMonkEOne" && SkillE.InRange(targetObj.Position))
         {
             SkillE.Cast(PacketCast());
         }
         else if (targetObj.HasBuff("BlindMonkTempest") && SkillE2.InRange(targetObj.Position) && (Player.Distance3D(targetObj) > 450 || !ECasted))
         {
             SkillE.Cast(PacketCast());
         }
     }
     if (ItemBool("Combo", "Q") && 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("BlindMonkSonicWave") && SkillQ2.InRange(targetObj.Position))
         {
             if (Player.Distance3D(targetObj) > 500 || CanKill(targetObj, SkillQ2, 1) || (targetObj.HasBuff("BlindMonkTempest") && SkillE.InRange(targetObj.Position) && !Orbwalk.InAutoAttackRange(targetObj)) || !QCasted)
             {
                 SkillQ.Cast(PacketCast());
             }
         }
     }
     if (ItemBool("Combo", "R") && ItemBool("Ultimate", targetObj.ChampionName) && SkillR.IsReady() && SkillR.InRange(targetObj.Position))
     {
         if (CanKill(targetObj, SkillR) || (SkillR.GetHealthPrediction(targetObj) - SkillR.GetDamage(targetObj) + 5 <= GetQ2Dmg(targetObj, SkillR.GetDamage(targetObj)) && ItemBool("Combo", "Q") && SkillQ.IsReady() && targetObj.HasBuff("BlindMonkSonicWave")))
         {
             SkillR.CastOnUnit(targetObj, PacketCast());
         }
     }
     if (ItemBool("Combo", "W") && SkillW.IsReady())
     {
         if (ItemBool("Combo", "WSurvive") || ItemBool("Combo", "WGap"))
         {
             if (SkillW.Instance.Name == "BlindMonkWOne")
             {
                 if (ItemBool("Combo", "WSurvive") && Orbwalk.InAutoAttackRange(targetObj) && Player.HealthPercentage() <= ItemList("Combo", "WUnder"))
                 {
                     SkillW.Cast(PacketCast());
                 }
                 else if (ItemBool("Combo", "WGap") && Player.Distance3D(targetObj) >= Orbwalk.GetAutoAttackRange() + 50)
                 {
                     var jumpObj = ObjectManager.Get <Obj_AI_Base>().Where(i => IsValid(i, SkillW.Range + i.BoundingRadius, false) && !(i is Obj_AI_Turret) && i.Distance3D(targetObj) <= Orbwalk.GetAutoAttackRange() + 50).OrderBy(i => i.Distance3D(targetObj));
                     if (jumpObj.Count() > 0 && !JumpCasted)
                     {
                         foreach (var Obj in jumpObj)
                         {
                             SkillW.CastOnUnit(Obj, PacketCast());
                         }
                     }
                     else if (ItemBool("Combo", "WGapWard") && Player.Distance3D(targetObj) <= SkillW.Range + Orbwalk.GetAutoAttackRange() + 50 && (GetWardSlot() != null || GetWardSlot().Stacks > 0 || WardCasted))
                     {
                         WardJump(targetObj.Position);
                     }
                 }
             }
             else if (SkillE.InRange(targetObj.Position) && !Player.HasBuff("BlindMonkSafeguard") && !WCasted)
             {
                 SkillW.Cast(PacketCast());
             }
         }
     }
     if (ItemBool("Combo", "Item"))
     {
         UseItem(targetObj);
     }
     if (ItemBool("Combo", "Ignite"))
     {
         CastIgnite(targetObj);
     }
 }