示例#1
0
        /// <summary>
        ///     Does the harass.
        /// </summary>
        /// <param name="toggleCall">If the harass was called by the toggle.</param>
        private static void DoHarass(bool toggleCall)
        {
            var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);

            if (!target.IsValidTarget())
            {
                return;
            }

            if (toggleCall)
            {
                var manaslider = Menu.Item("HarassToggleMana").GetValue <Slider>().Value;

                if (Player.ManaPercent <= manaslider)
                {
                    return;
                }
            }

            var useQHarass = Menu.Item("UseQHarass").IsActive();
            var useWHarass = Menu.Item("UseWHarass").IsActive();

            if (useWHarass && W.IsReady() && W.IsInRange(target, W.Range + AzirSoldierAutoAttackRange))
            {
                W.Cast(Player.ServerPosition.Extend(target.ServerPosition, W.Range));
            }

            if (useQHarass && SandSoldiers.Any(x => x.Distance(target) > AzirSoldierAutoAttackRange))
            {
                Q.Cast(target);
            }
        }
示例#2
0
        /// <summary>
        ///     Does the combo.
        /// </summary>
        private static void DoCombo()
        {
            var target = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical);

            if (!target.IsValidTarget())
            {
                return;
            }

            var useQCombo         = Menu.Item("UseQCombo").IsActive();
            var useWCombo         = Menu.Item("UseWCombo").IsActive();
            var useECombo         = Menu.Item("UseECombo").IsActive();
            var useRComboFinisher = Menu.Item("UseRComboFinisher").IsActive();

            if (W.IsReady() && useWCombo &&
                (W.IsInRange(target, W.Range + AzirSoldierAutoAttackRange) ||
                 (Q.IsReady() || Q.Instance.State == SpellState.Surpressed)))
            {
                W.Cast(Player.ServerPosition.Extend(target.ServerPosition, W.Range));
            }

            if (Q.IsReady() && useQCombo &&
                SandSoldiers.Any(x => HeroManager.Enemies.All(y => y.Distance(x) > AzirSoldierAutoAttackRange)))
            {
                Q.Cast(target);
            }

            if (E.IsReady() && useECombo && !Orbwalking.InAutoAttackRange(Player))
            {
                var soldier =
                    SandSoldiers.FirstOrDefault(
                        x =>
                        x.Distance(target) < Orbwalking.GetRealAutoAttackRange(Player) &&
                        x.Distance(target) > AzirSoldierAutoAttackRange);

                if (soldier != null)
                {
                    E.CastOnUnit(soldier);
                }
            }

            if (R.IsReady() && useRComboFinisher && R.GetDamage(target) > target.Health &&
                target.Health - R.GetDamage(target) > -100)
            {
                R.Cast(target);
            }
        }
示例#3
0
        /// <summary>
        ///     Does the combo.
        /// </summary>
        private static void DoCombo()
        {
            var target = TargetSelector.GetTarget(E.Range, DamageType.Magical);

            if (!target.IsValidTarget())
            {
                return;
            }

            var useQCombo         = comboMenu["UseQCombo"].GetValue <MenuBool>();
            var useWCombo         = comboMenu["UseWCombo"].GetValue <MenuBool>();
            var useECombo         = comboMenu["UseECombo"].GetValue <MenuBool>();
            var useRComboFinisher = comboMenu["UseRComboFinisher"].GetValue <MenuBool>();

            if (W.IsReady() && useWCombo &&
                (W.IsInRange(target, W.Range + AzirSoldierAutoAttackRange) ||
                 (Q.IsReady() || Q.Instance.State == SpellState.Cooldown)))
            {
                W.Cast(Player.Position.Extend(target.Position, W.Range));
            }

            if (Q.IsReady() && useQCombo &&
                SandSoldiers.Any(x => GameObjects.EnemyHeroes.All(y => y.Distance(x) > AzirSoldierAutoAttackRange)))
            {
                Q.Cast(target);
            }

            if (E.IsReady() && useECombo && !target.InAutoAttackRange())
            {
                var soldier =
                    SandSoldiers.FirstOrDefault(
                        x =>
                        x.Distance(target) < target.GetRealAutoAttackRange(Player) &&
                        x.Distance(target) > AzirSoldierAutoAttackRange);

                if (soldier != null)
                {
                    E.CastOnUnit(soldier);
                }
            }

            if (R.IsReady() && useRComboFinisher && R.GetDamage(target) > target.Health &&
                target.Health - R.GetDamage(target) > -100)
            {
                R.Cast(target);
            }
        }
示例#4
0
        /// <summary>
        ///     Does the lane clear.
        /// </summary>
        private static void DoLaneClear()
        {
            var manaPercentage = Menu.Item("LaneClearMana").GetValue <Slider>().Value;

            if (Player.ManaPercent <= manaPercentage)
            {
                return;
            }

            var useQLaneClear = Menu.Item("UseQLaneClear").IsActive();
            var useWLaneClear = Menu.Item("UseWLaneClear").IsActive();

            if (useWLaneClear && W.IsReady())
            {
                var position = W.GetCircularFarmLocation(
                    MinionManager.GetMinions(W.Range + AzirSoldierAutoAttackRange),
                    AzirSoldierAutoAttackRange);

                if (position.MinionsHit > 1)
                {
                    W.Cast(position.Position);
                }
            }

            if (useQLaneClear && (Q.IsReady() || Q.Instance.State == SpellState.Surpressed) &&
                SandSoldiers.Any(
                    x =>
                    MinionManager.GetMinions(x.ServerPosition, AzirSoldierAutoAttackRange)
                    .All(y => y.Distance(x) > AzirSoldierAutoAttackRange)))
            {
                var position = Q.GetCircularFarmLocation(
                    MinionManager.GetMinions(Q.Range + AzirSoldierAutoAttackRange),
                    AzirSoldierAutoAttackRange);

                if (position.MinionsHit > 1)
                {
                    Q.Cast(position.Position);
                }
            }
        }