Exemple #1
0
        public override void Execute()
        {
            var target = TargetSelector.GetTarget(Q.Range, DamageType.Magical);

            if (target == null || target.IsZombie)
            {
                return;
            }

            if (E.IsReady() && target.IsValidTarget(E.Range) && Settings.UseE)
            {
                E.Cast(target);
            }

            if (Q.IsReady() && target.IsValidTarget(Q.Range) && Settings.UseQ && !E.IsReady())
            {
                Q.Cast(target);
            }

            if (R.IsReady() && Settings.UseR)
            {
                var targetR = TargetSelector.GetTarget(Q.Range + R.Range + 50, DamageType.Magical);

                if (target.IsValidTarget(R.Range + Q.Range - 50) && targetR.CountEnemiesInRange(800) <= 2 &&
                    Player.Instance.HealthPercent > targetR.HealthPercent && targetR.HealthPercent <= 50 ||
                    targetR.Health < SpellDamage.GetTotalDamage(targetR))
                {
                    R.Cast(Player.Instance.Position.Extend(target.Position, R.Range + 250).To3D());
                }
            }
        }
Exemple #2
0
        public override void Execute()
        {
            var useQ = Q.IsReady() && Settings.UseQ;
            var useW = W.IsReady() && Settings.UseW;
            var useE = E.IsReady() && Settings.UseE;
            var useR = R.IsReady() && Settings.UseR;

            var target =
                TargetSelector.GetTarget(
                    EntityManager.Heroes.Enemies.Where(
                        x =>
                        (useQ && Q.IsInRange(x)) ||
                        (useE && E.IsInRange(x)) ||
                        (useR && R.IsInRange(x))),
                    DamageType.Mixed);

            if (target == null)
            {
                return;
            }

            if (SpellDamage.GetTotalDamage(target, true) > target.Health)
            {
                if (useQ && Q.IsInRange(target))
                {
                    if (useW)
                    {
                        W.Cast();
                    }
                    Q.Cast(target);
                }
                if (useE && E.IsInRange(target))
                {
                    E.Cast(target);
                }
                if (useR && R.IsInRange(target) && Player.Instance.HasBuff("ireliatranscendentbladesspell"))
                {
                    R.Cast(target);
                }
            }
        }
Exemple #3
0
        public override void Execute()
        {
            var target = TargetSelector.GetTarget(Q.Range, DamageType.Magical);

            if (target == null || target.IsZombie)
            {
                return;
            }

            if (Q.IsReady() && target.IsValidTarget(Player.Instance.GetAutoAttackRange()) && Settings.UseQ && Orbwalker.CanAutoAttack)
            {
                Q.Cast(target);
                Core.DelayAction(() => Player.IssueOrder(GameObjectOrder.AttackUnit, target), 30);
            }

            if (E.IsReady() && target.IsValidTarget(E.Range) && Settings.UseE)
            {
                E.Cast(target);
            }

            if (W.IsReady() && target.IsValidTarget(W.Range) && Settings.UseW)
            {
                W.Cast();
            }

            if (R.IsReady() && Settings.UseR)
            {
                var targetR = TargetSelector.GetTarget(Q.Range + R.Range + 50, DamageType.Magical);

                if (target.IsValidTarget(R.Range + Q.Range - 50) && targetR.CountEnemiesInRange(800) <= 2 &&
                    Player.Instance.HealthPercent > targetR.HealthPercent && targetR.HealthPercent <= 50 ||
                    targetR.Health < SpellDamage.GetTotalDamage(targetR))
                {
                    R.Cast(Player.Instance.Position.Extend(target.Position, R.Range + 250).To3D());
                }
            }
        }
Exemple #4
0
        public override void Execute()
        {
            var minions = EntityManager.MinionsAndMonsters.EnemyMinions.Where(x => x.IsValidTarget(Q.Range)).OrderBy(x => x.Health);

            var shouldQ = Settings.UseQ && Q.IsReady();
            var shouldW = Settings.UseW && W.IsReady() && ModeManager.LastSpell != SpellSlot.E;
            var shouldE = Settings.UseE && E.IsReady() && ModeManager.LastSpell != SpellSlot.W;
            var shouldR = Settings.UseR && R.IsReady();

            var stacks = ModeManager.PassiveCount + new[] { shouldQ, shouldW, shouldE, shouldR }.Count(x => x);

            foreach (var minion in minions)
            {
                switch (ModeManager.PassiveCount)
                {
                case 2:
                    if (Q.IsReady() && W.IsReady() && E.IsReady())
                    {
                        if (shouldE)
                        {
                            E.Cast(minion);
                            if (shouldQ)
                            {
                                Q.PredCast(minion);
                            }
                            return;
                        }
                        if (shouldQ && !Q.GetPrediction(minion).Collision)
                        {
                            Q.PredCast(minion);
                            return;
                        }
                    }
                    break;

                case 4:
                    if (shouldW)
                    {
                        W.Cast(minion);
                        if (shouldQ && !Q.GetPrediction(minion).Collision)
                        {
                            Q.PredCast(minion);
                        }
                    }
                    if (shouldR &&
                        (ModeManager.PassiveCharged || SpellDamage.GetTotalDamage(minion) > minion.Health))
                    {
                        R.Cast();
                        return;
                    }
                    break;
                }

                if (shouldW)
                {
                    W.Cast(minion);
                    if (shouldQ && !Q.GetPrediction(minion).Collision)
                    {
                        Q.PredCast(minion);
                    }
                    return;
                }
                if (shouldR && (stacks > 3 || ModeManager.PassiveCharged))
                {
                    R.Cast();
                    return;
                }
                if (shouldE)
                {
                    E.Cast(minion);
                    return;
                }
                if (shouldQ && !Q.GetPrediction(minion).Collision)
                {
                    Q.PredCast(minion);
                }
            }
        }
Exemple #5
0
        public override void Execute()
        {
            if (Settings.blockAA)
            {
                Orbwalker.DisableAttacking = true;
            }

            var target = TargetSelector.GetTarget(W.Range, DamageType.Magical);

            if (target == null)
            {
                return;
            }

            var shouldQ = Settings.UseQ && Q.IsReady();
            var shouldW = Settings.UseW && W.IsReady() && ModeManager.LastSpell != SpellSlot.E;
            var shouldE = Settings.UseE && E.IsReady() && ModeManager.LastSpell != SpellSlot.W;
            var shouldR = Settings.UseR && R.IsReady();

            var stacks = ModeManager.PassiveCount + new[] { shouldQ, shouldW, shouldE, shouldR }.Count(x => x);

            switch (ModeManager.PassiveCount)
            {
            case 2:
                if (Q.IsReady() && W.IsReady() && E.IsReady())
                {
                    if (shouldE)
                    {
                        E.Cast(target);
                        if (shouldQ)
                        {
                            Q.PredCast(target);
                        }
                        return;
                    }
                }
                break;

            case 4:
                if (shouldW)
                {
                    W.Cast(target);
                    if (shouldQ)
                    {
                        Q.PredCast(target);
                    }
                }
                if (shouldR && (ModeManager.PassiveCharged || SpellDamage.GetTotalDamage(target) > target.Health))
                {
                    R.Cast();
                    return;
                }
                break;
            }

            if (shouldW && ModeManager.LastSpell != SpellSlot.E)
            {
                W.Cast(target);
                if (shouldQ)
                {
                    Q.PredCast(target);
                }
                return;
            }
            if (shouldR &&
                (stacks > 4 || ModeManager.PassiveCharged || SpellDamage.GetTotalDamage(target) > target.Health))
            {
                R.Cast();
                return;
            }
            if (shouldE && ModeManager.LastSpell != SpellSlot.W)
            {
                E.Cast(target);
                return;
            }
            if (shouldQ)
            {
                Q.PredCast(target);
            }
        }
Exemple #6
0
        public override void Execute()
        {
            var monsters = EntityManager.MinionsAndMonsters.Monsters.Where(x => x.IsValidTarget(Q.Range)).OrderByDescending(x => x.MaxHealth);

            var shouldQ = Config.Modes.LaneClear.UseQ && Q.IsReady();
            var shouldW = Config.Modes.LaneClear.UseW && W.IsReady() && ModeManager.LastSpell != SpellSlot.E;
            var shouldE = Config.Modes.LaneClear.UseE && E.IsReady() && ModeManager.LastSpell != SpellSlot.W;
            var shouldR = Config.Modes.LaneClear.UseR && R.IsReady();

            var stacks = ModeManager.PassiveCount + new[] { shouldQ, shouldW, shouldE, shouldR }.Count(x => x);

            foreach (var monster in monsters)
            {
                switch (ModeManager.PassiveCount)
                {
                case 2:
                    if (Q.IsReady() && W.IsReady() && E.IsReady())
                    {
                        if (shouldE)
                        {
                            E.Cast(monster);
                            if (shouldQ)
                            {
                                Q.PredCast(monster);
                            }
                        }
                        if (shouldQ && !Q.GetPrediction(monster).Collision)
                        {
                            Q.PredCast(monster);
                        }
                    }
                    break;

                case 4:
                    if (shouldW)
                    {
                        W.Cast(monster);
                        if (shouldQ && !Q.GetPrediction(monster).Collision)
                        {
                            Q.PredCast(monster);
                        }
                    }
                    if (shouldR &&
                        (ModeManager.PassiveCharged || SpellDamage.GetTotalDamage(monster) > monster.Health))
                    {
                        R.Cast();
                    }
                    break;
                }

                if (shouldW)
                {
                    W.Cast(monster);
                    if (shouldQ && !Q.GetPrediction(monster).Collision)
                    {
                        Q.PredCast(monster);
                    }
                }
                if (shouldR && (stacks > 3 || ModeManager.PassiveCharged))
                {
                    R.Cast();
                }
                if (shouldE)
                {
                    E.Cast(monster);
                }
                if (shouldQ && !Q.GetPrediction(monster).Collision)
                {
                    Q.PredCast(monster);
                }
            }
        }
Exemple #7
0
        void OnCombo()
        {
            var enemies = EntityManager.Heroes.Enemies.OrderByDescending
                              (a => a.HealthPercent).Where(a => !a.IsMe && a.IsValidTarget() && a.Distance(Player) <= Q.Range);
            var target = TargetSelector.GetTarget(1400, DamageType.Physical);

            if (!target.IsValidTarget(Q.Range) || target == null)
            {
                return;
            }
            if (CaitlynTheTrollMeNu.ComboW() && W.IsReady() && target.IsValidTarget(W.Range) && !target.IsInvulnerable)
            {
                var predW = W.GetPrediction(target);
                if (predW.HitChance >= HitChance.Medium)
                {
                    W.Cast(predW.CastPosition);
                }
                else if (predW.HitChance >= HitChance.Immobile)
                {
                    W.Cast(predW.CastPosition);
                }
            }
            if (Q.IsReady() && target.IsValidTarget(850))
            {
                foreach (var eenemies in enemies)
                {
                    var useQ = CaitlynTheTrollMeNu.ComboMenu["combo.q"
                                                             + eenemies.ChampionName].Cast <CheckBox>().CurrentValue;
                    if (useQ)
                    {
                        var predQ = Q.GetPrediction(target);
                        if (predQ.HitChance >= HitChance.High)
                        {
                            Q.Cast(predQ.CastPosition);
                        }
                    }
                }
            }
            if (E.IsReady() && target.IsValidTarget(700) && CaitlynTheTrollMeNu.ComboE())
            {
                var predE = Q.GetPrediction(target);
                if (predE.HitChance >= HitChance.Medium)
                {
                    E.Cast(predE.CastPosition);
                }
            }
            if (R.IsReady() && CaitlynTheTrollMeNu.ComboR() &&
                Player.CountEnemiesInRange(R.Range) >= CaitlynTheTrollMeNu.ComboREnemies() &&
                SpellDamage.GetTotalDamage(target) >= target.Health)
            {
                R.Cast(target);
            }
            if ((ObjectManager.Player.CountEnemiesInRange(ObjectManager.Player.AttackRange) >=
                 CaitlynTheTrollMeNu.YoumusEnemies() ||
                 Player.HealthPercent >= CaitlynTheTrollMeNu.ItemsYoumuShp()) &&
                Activator.Youmus.IsReady() && CaitlynTheTrollMeNu.Youmus() && Activator.Youmus.IsOwned())
            {
                Activator.Youmus.Cast();
                return;
            }
            if (Player.HealthPercent <= CaitlynTheTrollMeNu.BilgewaterHp() &&
                CaitlynTheTrollMeNu.Bilgewater() &&
                Activator.Bilgewater.IsReady() && Activator.Bilgewater.IsOwned())
            {
                Activator.Bilgewater.Cast(target);
                return;
            }

            if (Player.HealthPercent <= CaitlynTheTrollMeNu.BotrkHp() && CaitlynTheTrollMeNu.Botrk() &&
                Activator.Botrk.IsReady() &&
                Activator.Botrk.IsOwned())
            {
                Activator.Botrk.Cast(target);
            }
        }