Exemplo n.º 1
0
        private static void KillSteal()
        {
            if (KillStealOption.UseQ && Q.IsReady() && Me.Mana > Q.ManaCost + E.ManaCost)
            {
                foreach (var target in ObjectManager.Heroes.Enemies
                         .Where(
                             x =>
                             x.IsValidTarget(QExtend.Range) && !x.IsUnKillable() &&
                             x.Health < MyDamageCalculate.GetQDamage(x)))
                {
                    QLogic(target);
                    return;
                }
            }

            if (KillStealOption.UseW && W.IsReady() && Me.Mana > W.ManaCost + Q.ManaCost + E.ManaCost)
            {
                foreach (var target in ObjectManager.Heroes.Enemies
                         .Where(
                             x => x.IsValidTarget(W.Range) && !x.IsUnKillable() && x.Health < MyDamageCalculate.GetWDamage(x))
                         )
                {
                    if (target.IsValidTarget(W.Range))
                    {
                        var wPred = W.GetPrediction(target);

                        if (wPred.Hitchance >= HitChance.VeryHigh)
                        {
                            W.Cast(wPred.CastPosition, true);
                            return;
                        }
                    }
                }
            }
        }
Exemplo n.º 2
0
        private static void Combo()
        {
            if (ComboOption.GetBool("ComboEDash") && E.IsReady())
            {
                var target = TargetSelector.GetTarget(Me.AttackRange + Me.BoundingRadius,
                                                      TargetSelector.DamageType.Physical);

                if (target.IsValidTarget(Me.AttackRange + Me.BoundingRadius + E.Range) &&
                    !target.IsValidTarget(Me.AttackRange + Me.BoundingRadius))
                {
                    ELogic(target, 0);
                }
            }

            if (ComboOption.GetBool("ComboQExtend") && QExtend.IsReady() && !Me.IsDashing() && !havePassive &&
                !havePassiveBuff)
            {
                var target = TargetSelector.GetTarget(QExtend.Range, TargetSelector.DamageType.Physical);

                if (target.IsValidTarget(QExtend.Range) && !target.IsValidTarget(Q.Range))
                {
                    QLogic(target);
                }
            }

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

                if (target.IsValidTarget(R.Range) && !target.IsUnKillable() && !Me.IsUnderEnemyTurret() &&
                    !target.IsValidTarget(Me.AttackRange + Me.BoundingRadius))
                {
                    if (
                        ObjectManager.Heroes.Enemies.Any(
                            x => x.NetworkId != target.NetworkId && x.Distance(target) <= 550))
                    {
                        return;
                    }

                    var rDMG = MyDamageCalculate.GetRDamage(target);

                    if (target.Health + target.HPRegenRate * 3 < rDMG)
                    {
                        if (target.DistanceToPlayer() <= 800 && target.Health < rDMG * 0.6)
                        {
                            R.Cast(target, true);
                        }
                        else if (target.DistanceToPlayer() <= 1000 && target.Health < rDMG * 0.4)
                        {
                            R.Cast(target, true);
                        }
                    }
                }
            }
        }
Exemplo n.º 3
0
        private static void Combo()
        {
            var target = TargetSelector.GetTarget(QExtend.Range, TargetSelector.DamageType.Physical);

            if (target.IsValidTarget(QExtend.Range))
            {
                if (ComboOption.UseR && R.IsReady() && target.IsValidTarget(R.Range))
                {
                    if (MiscOption.GetBool("RSafe") && !Me.UnderTurret(true))
                    {
                        foreach (
                            var rTarget in
                            ObjectManager.Heroes.Enemies.Where(
                                x =>
                                x.IsValidTarget(R.Range) &&
                                !MiscOption.GetBool("Dontr" + target.ChampionName.ToLower()))
                            .OrderByDescending(x => E.IsReady() ? E.GetDamage(x) : 0 + Q.GetDamage(x) * 2))
                        {
                            if (rTarget.CountEnemiesInRange(R.Range) <= MiscOption.GetSlider("RSwap"))
                            {
                                if (MiscOption.GetBool("RAlly") && Me.UnderAllyTurret() && rTarget.DistanceToPlayer() <= 350)
                                {
                                    R.CastOnUnit(rTarget);
                                }

                                if (MiscOption.GetBool("RKill") && target.Health < MyDamageCalculate.GetComboDamage(target))
                                {
                                    R.CastOnUnit(rTarget);
                                }
                            }
                        }
                    }
                }

                if (ComboOption.UseE && E.IsReady() && target.IsValidTarget(E.Range) &&
                    (Q.IsReady() || target.Health < E.GetDamage(target)))
                {
                    SpellManager.PredCast(E, target, true);
                }

                if (ComboOption.UseW && W.IsReady())
                {
                    if (target.DistanceToPlayer() <= Me.AttackRange + Me.BoundingRadius)
                    {
                        if (ComboOption.GetBool("ComboWAlways"))
                        {
                            W.Cast();
                        }

                        if (Me.HealthPercent <= ComboOption.GetSlider("ComboWLowHp"))
                        {
                            W.Cast();
                        }
                    }

                    if (ComboOption.GetBool("ComboWBuff") && HaveEBuff(target) && Q.IsReady())
                    {
                        W.Cast();
                    }
                }

                if (ComboOption.UseQ && Q.IsReady() && target.IsValidTarget(QExtend.Range))
                {
                    if (!HaveEBuff(target) && target.IsValidTarget(Q.Range))
                    {
                        if (ComboOption.GetBool("ComboFirstE") && E.IsReady() && ComboOption.UseE && target.IsValidTarget(E.Range))
                        {
                            SpellManager.PredCast(E, target, true);
                        }
                        else
                        {
                            SpellManager.PredCast(Q, target);
                        }
                    }
                    else if (target.IsValidTarget(QExtend.Range) && HaveEBuff(target))
                    {
                        QExtend.Cast(target);
                    }
                }
            }
        }