コード例 #1
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);
            }
        }
コード例 #2
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);
            }
        }