Пример #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
        private static void DoInsec()
        {
            EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos.Randomize(-100, 100));

            var target = TargetSelector.GetSelectedTarget();

            if (!target.IsValidTarget())
            {
                if (Environment.TickCount - LastInsecNotifcation >= 5000)
                {
                    Chat.Print(
                        "<font color=\"#7CFC00\"><b>Night Stalker Azir:</b></font> Please select a target by left clicking them!");
                    LastInsecNotifcation = Environment.TickCount;
                }

                return;
            }

            if (!Q.IsInRange(target))
            {
                return;
            }

            if (W.IsReady() && E.IsReady() && (Q.IsReady() || Q.Instance.State == SpellState.Surpressed) && R.IsReady() &&
                Flash.IsReady())
            {
                W.Cast(Player.ServerPosition.Extend(target.ServerPosition, W.Range));

                LeagueSharp.Common.Utility.DelayAction.Add(
                    (int)(W.Delay * 1000),
                    () =>
                {
                    E.CastOnUnit(SandSoldiers.OrderBy(x => x.Distance(Player)).FirstOrDefault());
                    Q.Cast(Player.ServerPosition.Extend(target.ServerPosition, Q.Range));

                    LeagueSharp.Common.Utility.DelayAction.Add(
                        (int)(Q.Delay * 1000 + Player.Distance(target) / 2500 * 1000),
                        () =>
                    {
                        Flash.Cast(Player.ServerPosition.Extend(target.ServerPosition, Flash.Range));

                        var nearestUnit =
                            ObjectManager.Get <Obj_AI_Base>()
                            .OrderBy(x => x.Distance(Player))
                            .FirstOrDefault(
                                x => !x.IsMe || !x.CharData.BaseSkinName.Equals("AzirSoldier"));

                        if (nearestUnit != null)
                        {
                            R.Cast(Player.ServerPosition.Extend(nearestUnit.ServerPosition, R.Range));
                        }
                    });
                });
            }
        }
Пример #3
0
        private static void DoInsec()
        {
            Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPosRaw);

            var target = TargetSelector.GetTarget(900);

            if (!target.IsValidTarget())
            {
                if (Environment.TickCount - LastInsecNotifcation >= 5000)
                {
                    Chat.Print(
                        "<font color=\"#7CFC00\"><b>Night Stalker Azir: PORTED BY DEATHGODX</b></font> Please select a target by left clicking them!");
                    LastInsecNotifcation = Environment.TickCount;
                }

                return;
            }

            if (!Q.IsInRange(target))
            {
                return;
            }

            if (W.IsReady() && E.IsReady() && (Q.IsReady()) && R.IsReady() &&
                Flash.IsReady())
            {
                W.Cast(Player.Position.Extend(target.Position, W.Range));

                DelayAction.Add(
                    (int)(W.Delay * 1000),
                    () =>
                {
                    E.CastOnUnit(SandSoldiers.OrderBy(x => x.Distance(Player)).FirstOrDefault());
                    Q.Cast(Player.Position.Extend(target.Position, Q.Range));

                    DelayAction.Add(
                        (int)(Q.Delay * 1000 + Player.Distance(target) / 2500 * 1000),
                        () =>
                    {
                        Flash.Cast(Player.Position.Extend(target.Position, Flash.Range));

                        var nearestUnit =
                            ObjectManager.Get <AIBaseClient>()
                            .OrderBy(x => x.Distance(Player))
                            .FirstOrDefault(
                                x => !x.IsMe || !x.CharacterData.Name.Equals("AzirSoldier"));

                        if (nearestUnit != null)
                        {
                            R.Cast(Player.Position.Extend(nearestUnit.Position, R.Range));
                        }
                    });
                });
            }
        }
Пример #4
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);
            }
        }
Пример #5
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);
            }
        }
Пример #6
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);
                }
            }
        }
Пример #7
0
        /// <summary>
        ///     Flees this instance.
        /// </summary>
        private static void Flee()
        {
            EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos.Randomize(-100, 100));

            if (
                !((Q.IsReady() || Q.Instance.State == SpellState.Surpressed) && W.IsReady() &&
                  (E.IsReady() || E.Instance.State == SpellState.Surpressed)))
            {
                return;
            }

            var option = Menu.Item("FleeOption").GetValue <StringList>().SelectedIndex;

            if (option == 0)
            {
                W.Cast(Player.ServerPosition.Extend(Game.CursorPos, W.Range));

                LeagueSharp.Common.Utility.DelayAction.Add(
                    (int)(W.Delay * 1000),
                    () =>
                {
                    E.CastOnUnit(SandSoldiers.OrderBy(x => x.Distance(Player)).FirstOrDefault());
                    Q.Cast(Player.ServerPosition.Extend(Game.CursorPos, Q.Range));
                });
            }
            else if (option == 1)
            {
                W.Cast(Player.ServerPosition.Extend(Game.CursorPos, W.Range));

                LeagueSharp.Common.Utility.DelayAction.Add(
                    (int)(W.Delay * 1000),
                    () =>
                {
                    Q.Cast(Player.ServerPosition.Extend(Game.CursorPos, Q.Range));
                    E.CastOnUnit(SandSoldiers.OrderBy(x => x.Distance(Player)).FirstOrDefault());
                });
            }
        }
Пример #8
0
        /// <summary>
        ///     Flees this instance.
        /// </summary>
        private static void Flee()
        {
            Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPosRaw);

            if (
                !((Q.IsReady()) && W.IsReady() &&
                  (E.IsReady())))
            {
                return;
            }

            var option = fleeMenu["FleeOption"].GetValue <MenuList>().Index;

            if (option == 0)
            {
                W.Cast(Player.Position.Extend(Game.CursorPosRaw, W.Range));

                DelayAction.Add(
                    (int)(W.Delay * 1000),
                    () =>
                {
                    E.CastOnUnit(SandSoldiers.OrderBy(x => x.Distance(Player)).FirstOrDefault());
                    Q.Cast(Player.Position.Extend(Game.CursorPosRaw, Q.Range));
                });
            }
            else if (option == 1)
            {
                W.Cast(Player.Position.Extend(Game.CursorPosRaw, W.Range));

                DelayAction.Add(
                    (int)(W.Delay * 1000),
                    () =>
                {
                    Q.Cast(Player.Position.Extend(Game.CursorPosRaw, Q.Range));
                    E.CastOnUnit(SandSoldiers.OrderBy(x => x.Distance(Player)).FirstOrDefault());
                });
            }
        }
Пример #9
0
        /// <summary>
        ///     Gets the damages to unit.
        /// </summary>
        /// <param name="target">The target.</param>
        /// <returns>The damage.</returns>
        private static float DamageToUnit(AIHeroClient target)
        {
            var damage = 0f;

            if (Q.IsReady())
            {
                damage += Q.GetDamage(target);
            }

            if (Orbwalking.CanAttack())
            {
                damage +=
                    SandSoldiers.Where(x => target.Distance(x) < AzirSoldierAutoAttackRange)
                    .Sum(soldier => W.GetDamage(target));
                damage += (float)Player.GetAutoAttackDamage(target);
            }

            if (R.IsReady())
            {
                damage += R.GetDamage(target);
            }

            return(damage);
        }