Example #1
0
        /// <summary>
        /// Auto Q
        /// </summary>
        private static void AutoQ()
        {
            var target      = TargetSelector.GetTarget(Q.Range, DamageType.Magical);
            var allMinionsQ =
                EntityManager.MinionsAndMonsters.EnemyMinions.Where(t => Q.IsInRange(t)).OrderBy(t => t.Health);

            if (target == null)
            {
                return;
            }

            if (Q.IsReady() && allMinionsQ.Any())
            {
                foreach (
                    var minion in
                    allMinionsQ.Where(
                        minion =>
                        minion.Health < DamageLibrary.CalculateDamage(minion, true, false, false, false) &&
                        Q.IsInRange(minion)))
                {
                    Q.Cast(minion);
                }
            }
            else if (Q.IsReady() && target.IsValidTarget(Q.Range) && Player.Instance.ManaPercent >= 25)
            {
                Q.Cast(target);
            }
        }
Example #2
0
        /// <summary>
        /// Kill Steal
        /// </summary>
        private static void KillSteal()
        {
            var ksq = KillStealMenu["KSQ"].Cast <CheckBox>().CurrentValue;
            var ksr = KillStealMenu["KSR"].Cast <CheckBox>().CurrentValue;

            if (ksq)
            {
                var target =
                    EntityManager.Heroes.Enemies.Where(
                        t =>
                        t.IsValidTarget() && Q.IsInRange(t) &&
                        DamageLibrary.CalculateDamage(t, true, false, false, false) >= t.Health)
                    .OrderBy(t => t.Health)
                    .FirstOrDefault();

                if (target != null && Q.IsReady())
                {
                    Q.Cast(target);
                }
            }

            if (!ksr)
            {
                return;
            }

            var rTarget =
                EntityManager.Heroes.Enemies.Where(
                    t =>
                    t.IsValidTarget() && R.IsInRange(t) &&
                    DamageLibrary.CalculateDamage(t, false, false, false, true) >= t.Health)
                .OrderBy(t => t.Health)
                .FirstOrDefault();

            if (rTarget == null || !R.IsReady())
            {
                return;
            }
            var pred = R.GetPrediction(rTarget);

            if (pred.HitChance >= HitChance.High)
            {
                R.Cast(pred.CastPosition);
            }
        }
Example #3
0
        /// <summary>
        /// LaneClear
        /// </summary>
        private static void LaneClear()
        {
            var qClear       = LaneClearMenu["qclear"].Cast <CheckBox>().CurrentValue;
            var qManaManager = LaneClearMenu["qManaManager"].Cast <Slider>().CurrentValue;
            var qMinion      =
                EntityManager.MinionsAndMonsters.EnemyMinions.Where(
                    t => Q.IsInRange(t) && t.IsValidTarget());

            foreach (var m in qMinion.Where(m => Q.IsReady() &&
                                            qClear
                                            &&
                                            m.Health <= DamageLibrary.CalculateDamage(m, true, false, false, false) &&
                                            qManaManager <= (int)Player.Instance.ManaPercent))
            {
                Q.Cast(m);
            }

            var useR = LaneClearMenu["rclear"].Cast <CheckBox>().CurrentValue;

            if (useR)
            {
                var allMinionsR =
                    EntityManager.MinionsAndMonsters.EnemyMinions.Where(t => R.IsInRange(t) && t.IsValidTarget())
                    .OrderBy(t => t.Health);
                var rLocation = EntityManager.MinionsAndMonsters.GetCircularFarmLocation(allMinionsR, R.Width,
                                                                                         (int)R.Range);
                var minionR = LaneClearMenu["minionR"].Cast <Slider>().CurrentValue;

                if (rLocation.HitNumber >= minionR &&
                    Environment.TickCount - LaneClearLastR >= Delay)
                {
                    R.Cast(rLocation.CastPosition);
                    LaneClearLastR = Environment.TickCount;
                }
            }
        }