Exemplo n.º 1
0
        public static void Combo()
        {
            //Qcast
            if (Q.IsReady() && Qcombo)
            {
                if (CastQPassiveCombo || CastQPrePassiveCombo || CastQGapCloseCombo)
                {
                    if (TargetingMode == TargetMode.Normal)
                    {
                        foreach (var hero in HeroManager.Enemies.Where(x => x.LSIsValidTarget() && !x.IsZombie)
                                 .OrderBy(x => x.LSDistance(Player.Position)))
                        {
                            var status = hero.GetPassiveStatus(0);
                            if (status.HasPassive &&
                                !(Orbwalking.InAutoAttackRange(hero) &&
                                  status.PassivePredictedPositions.Any(x => Player.Position.LSTo2D()
                                                                       .InTheCone(status.TargetPredictedPosition, x, 90))))
                            {
                                if (CastQPassiveCombo && status.PassiveType == PassiveType.UltiPassive &&
                                    castQtoUltPassive(hero, getQPassivedelay(hero)))
                                {
                                    goto Wcast;
                                }
                                if (CastQPassiveCombo && status.PassiveType == PassiveType.NormalPassive &&
                                    castQtoPassive(hero, getQPassivedelay(hero)))
                                {
                                    goto Wcast;
                                }
                                if (CastQPrePassiveCombo && status.PassiveType == PassiveType.PrePassive &&
                                    castQtoPrePassive(hero, getQPassivedelay(hero)))
                                {
                                    goto Wcast;
                                }
                                if (CastQGapCloseCombo &&
                                    castQtoGapClose(hero, getQGapClosedelay(hero)))
                                {
                                    goto Wcast;
                                }
                            }
                        }
                    }
                    else
                    {
                        var hero = GetTarget();
                        if (hero != null)
                        {
                            var status = hero.GetPassiveStatus(0);
                            if (status.HasPassive &&
                                !(Orbwalking.InAutoAttackRange(hero) &&
                                  status.PassivePredictedPositions.Any(x => Player.Position.LSTo2D()
                                                                       .InTheCone(status.TargetPredictedPosition, x, 90))))
                            {
                                if (CastQPassiveCombo && status.PassiveType == PassiveType.UltiPassive &&
                                    castQtoUltPassive(hero, getQPassivedelay(hero)))
                                {
                                    goto Wcast;
                                }
                                if (CastQPassiveCombo && status.PassiveType == PassiveType.NormalPassive &&
                                    castQtoPassive(hero, getQPassivedelay(hero)))
                                {
                                    goto Wcast;
                                }
                                if (CastQPrePassiveCombo && status.PassiveType == PassiveType.PrePassive &&
                                    castQtoPrePassive(hero, getQPassivedelay(hero)))
                                {
                                    goto Wcast;
                                }
                                if (CastQGapCloseCombo &&
                                    castQtoGapClose(hero, getQGapClosedelay(hero)))
                                {
                                    goto Wcast;
                                }
                            }
                        }
                    }
                }
                if (CastQGapCloseCombo && !CastQPassiveCombo && !CastQPrePassiveCombo)
                {
                    if (TargetingMode == TargetMode.Normal)
                    {
                        foreach (var hero in HeroManager.Enemies.Where(x => x.LSIsValidTarget() && !x.IsZombie)
                                 .OrderBy(x => x.LSDistance(Player.Position)))
                        {
                            if (castQtoGapClose(hero, getQGapClosedelay(hero)))
                            {
                                goto Wcast;
                            }
                        }
                    }
                    else
                    {
                        var hero = GetTarget();
                        if (hero != null)
                        {
                            if (castQtoGapClose(hero, getQGapClosedelay(hero)))
                            {
                                goto Wcast;
                            }
                        }
                    }
                }
                if (CastQMinionGapCloseCombo && Math.Abs(Player.PercentCooldownMod) * 100 >= ValueQMinionGapCloseCombo)
                {
                    var hero = GetTarget();
                    if (hero != null && Player.Position.LSDistance(hero.Position) >= 500)
                    {
                        if (Player.Position.LSExtend(hero.Position, 400).CountMinionsInRange(300, false) >= 1)
                        {
                            Q.Cast(Player.Position.LSExtend(hero.Position, 400));
                        }
                    }
                }
            }

            if (R.IsReady() && Rcombo)
            {
                var hero = GetTarget();
                if (hero.LSIsValidTarget(500) && !hero.IsZombie)
                {
                    var status = hero.GetPassiveStatus(0);
                    if (!status.HasPassive || (status.HasPassive && !(Orbwalking.InAutoAttackRange(hero) &&
                                                                      status.PassivePredictedPositions.Any(x => Player.Position.LSTo2D()
                                                                                                           .InTheCone(status.TargetPredictedPosition, x, 90)))))
                    {
                        if (UseRComboLowHP && Player.HealthPercent <= ValueRComboLowHP)
                        {
                            R.Cast(hero);
                            return;
                        }

                        if (UseRComboKillable && GetFastDamage(hero) >= hero.Health && hero.Health >= GetFastDamage(hero) / 3)
                        {
                            R.Cast(hero);
                            return;
                        }

                        if (UseRComboAlways)
                        {
                            R.Cast(hero);
                            return;
                        }
                    }
                    if (UseRComboOnTap && RTapKeyActive)
                    {
                        R.Cast(hero);
                        return;
                    }
                }
            }

Wcast:

            if (W.IsReady())
            {
            }
        }
Exemplo n.º 2
0
        public static void Harass()
        {
            //Qcast
            if (Q.IsReady() && Qharass && Player.ManaPercent >= Manaharass)
            {
                if (CastQPassiveHarasss || CastQPrePassiveHarass || CastQGapCloseHarass)
                {
                    if (TargetingMode == TargetMode.Normal)
                    {
                        foreach (var hero in HeroManager.Enemies.Where(x => x.LSIsValidTarget() && !x.IsZombie).OrderBy(x => x.LSDistance(Player.Position)))
                        {
                            var status = hero.GetPassiveStatus(0);
                            if (status.HasPassive &&
                                !(Orbwalking.InAutoAttackRange(hero) &&
                                  status.PassivePredictedPositions.Any(x => Player.Position.LSTo2D()
                                                                       .InTheCone(status.TargetPredictedPosition, x, 90))))
                            {
                                if (CastQPassiveHarasss && status.PassiveType == PassiveType.UltiPassive &&
                                    castQtoUltPassive(hero, getQPassivedelay(hero)))
                                {
                                    goto Wcast;
                                }
                                if (CastQPassiveHarasss && status.PassiveType == PassiveType.NormalPassive &&
                                    castQtoPassive(hero, getQPassivedelay(hero)))
                                {
                                    goto Wcast;
                                }
                                if (CastQPrePassiveHarass && status.PassiveType == PassiveType.PrePassive &&
                                    castQtoPrePassive(hero, getQPassivedelay(hero)))
                                {
                                    goto Wcast;
                                }
                                if (CastQGapCloseHarass &&
                                    castQtoGapClose(hero, getQGapClosedelay(hero)))
                                {
                                    goto Wcast;
                                }
                            }
                        }
                    }
                    else
                    {
                        var hero = GetTarget();
                        if (hero != null)
                        {
                            var status = hero.GetPassiveStatus(0);
                            if (status.HasPassive &&
                                !(Orbwalking.InAutoAttackRange(hero) &&
                                  status.PassivePredictedPositions.Any(x => Player.Position.LSTo2D()
                                                                       .InTheCone(status.TargetPredictedPosition, x, 90))))
                            {
                                if (CastQPassiveHarasss && status.PassiveType == PassiveType.UltiPassive &&
                                    castQtoUltPassive(hero, getQPassivedelay(hero)))
                                {
                                    goto Wcast;
                                }
                                if (CastQPassiveHarasss && status.PassiveType == PassiveType.NormalPassive &&
                                    castQtoPassive(hero, getQPassivedelay(hero)))
                                {
                                    goto Wcast;
                                }
                                if (CastQPrePassiveHarass && status.PassiveType == PassiveType.PrePassive &&
                                    castQtoPrePassive(hero, getQPassivedelay(hero)))
                                {
                                    goto Wcast;
                                }
                                if (CastQGapCloseHarass &&
                                    castQtoGapClose(hero, getQGapClosedelay(hero)))
                                {
                                    goto Wcast;
                                }
                            }
                        }
                    }
                }
                if (CastQGapCloseHarass && !CastQPassiveHarasss && !CastQPrePassiveHarass)
                {
                    if (TargetingMode == TargetMode.Normal)
                    {
                        foreach (var hero in HeroManager.Enemies.Where(x => x.LSIsValidTarget() && !x.IsZombie)
                                 .OrderBy(x => x.LSDistance(Player.Position)))
                        {
                            if (castQtoGapClose(hero, getQGapClosedelay(hero)))
                            {
                                goto Wcast;
                            }
                        }
                    }
                    else
                    {
                        var hero = GetTarget();
                        if (hero != null)
                        {
                            if (castQtoGapClose(hero, getQGapClosedelay(hero)))
                            {
                                goto Wcast;
                            }
                        }
                    }
                }
            }

Wcast:

            if (W.IsReady())
            {
            }
        }
Exemplo n.º 3
0
 public virtual bool InAutoAttackRange(AttackableUnit target)
 {
     return(Orbwalking.InAutoAttackRange(target));
 }