示例#1
0
        public static void OnUpdate()
        {
            var target = Global.TargetSelector.GetTarget(1100);
            if (target == null || Global.Orbwalker.IsWindingUp)
            {
                return;
            }

            if (SpellConfig.Q.Ready && target.IsValidTarget(SpellConfig.Q.Range))
            {
                if (Extension.CurrentMode == Mode.Tornado && !MenuConfig.Harass["Q"].Enabled)
                {
                    return;
                }

                SpellConfig.Q.Cast(target);
            }

            if (SpellConfig.E.Ready && MenuConfig.Harass["E"].Enabled && !target.IsUnderEnemyTurret())
            {
                var distance = target.Distance(Global.Player);
                var minion = MinionHelper.GetDashableMinion(target);

                if (MinionHelper.IsDashable(target))
                {
                    SpellConfig.E.CastOnUnit(target);
                }

                if (minion != null)
                {
                    SpellConfig.E.CastOnUnit(minion);
                }
            }
        }
示例#2
0
        public static void OnUpdate()
        {
            if (SpellConfig.E.Ready && MenuConfig.Misc["LasthitE"].Enabled)
            {
                var minion = GameObjects.EnemyMinions.FirstOrDefault(x => MinionHelper.IsDashable(x) && x.Health <= Global.Player.GetSpellDamage(x, SpellSlot.E));

                if (minion == null)
                {
                    return;
                }

                SpellConfig.E.CastOnUnit(minion);
            }

            if (SpellConfig.Q.Ready && (MenuConfig.Misc["LasthitQ"].Enabled && Extension.CurrentMode == Mode.Normal ||
                                        MenuConfig.Misc["LasthitQ3"].Enabled && Extension.CurrentMode == Mode.Tornado))
            {
                var minion = GameObjects.EnemyMinions.FirstOrDefault(x => x.Health <= Global.Player.GetSpellDamage(x, SpellSlot.Q) && x.Distance(Global.Player) <= SpellConfig.Q.Range - 100);
                if (minion == null)
                {
                    return;
                }

                SpellConfig.Q.Cast(minion);
            }
        }
示例#3
0
        public static void OnUpdate()
        {
            var target = Global.TargetSelector.GetTarget(2500);

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

            var targetDist = target.Distance(Global.Player);
            var minion     = MinionHelper.GetDashableMinion(target);

            var positionBehindMinion = MinionHelper.WalkBehindMinion(target, minion);

            if (!positionBehindMinion.IsZero && positionBehindMinion.Distance(Global.Player) <= MenuConfig.Combo["MRange"].Value)
            {
                MinionHelper.ExtendedMinion = positionBehindMinion;
                MinionHelper.ExtendedTarget = target.ServerPosition;
            }

            var dashDistance = MinionHelper.DashDistance(minion, target);

            if (SpellConfig.E.Ready && targetDist > Global.Player.AttackRange)
            {
                if (MinionHelper.IsDashable(target) && (Extension.CurrentMode == Mode.Tornado ||
                                                        targetDist > SpellConfig.E.Range - target.BoundingRadius && GameObjects.EnemyMinions.Count(MinionHelper.IsDashable) == 0))
                {
                    SpellConfig.E.CastOnUnit(target);
                }

                if (MenuConfig.Combo["Walk"].Enabled && Global.Orbwalker.CanMove() && !(MenuConfig.Combo["Turret"].Enabled && target.IsUnderEnemyTurret()))
                {
                    SpellConfig.CastE(target, true, MenuConfig.Combo["MRange"].Value);
                }
                else if (minion != null)
                {
                    if (MenuConfig.Combo["Turret"].Enabled && minion.ServerPosition.PointUnderEnemyTurret() ||
                        MenuConfig.Combo["Dash"].Value == 0 && minion.Distance(Game.CursorPos) > MenuConfig.Combo["Range"].Value)
                    {
                        return;
                    }

                    SpellConfig.CastE(minion);
                }
            }

            if (SpellConfig.Q.Ready)
            {
                switch (Extension.CurrentMode)
                {
                case Mode.Dashing:
                case Mode.DashingTornado:
                    if (MenuConfig.Combo["Flash"].Enabled && dashDistance < 425 && dashDistance > 250 && targetDist > 220 &&
                        (Dmg.Damage(target) * 1.25 > target.Health || target.ServerPosition.CountEnemyHeroesInRange(220) >= 2))
                    {
                        DelayAction.Queue(Game.Ping / 2,
                                          () =>
                        {
                            SpellConfig.Q.Cast();
                        },
                                          new CancellationToken(false));

                        DelayAction.Queue(Game.Ping / 2 + 50,
                                          () =>
                        {
                            SummonerSpells.Flash.Cast(target.Position);
                        },
                                          new CancellationToken(false));
                    }
                    else
                    {
                        var circle = new Geometry.Circle(Global.Player.GetDashInfo().EndPos, 220);
                        var count  = GameObjects.EnemyHeroes.Count(x => x.IsValidTarget() && x.Distance(circle.Center.To3D()) <= circle.Radius);

                        if (count != 0)
                        {
                            SpellConfig.Q.Cast(target);
                        }
                    }
                    break;

                default:
                    SpellConfig.CastQ(target);
                    break;
                }
            }

            if (SpellConfig.R.Ready && MenuConfig.Whitelist[target.ChampionName].Enabled && target.IsAirbone() && KnockUpHelper.IsItTimeToUlt(target))
            {
                var airbourneTargets = GameObjects.EnemyHeroes.Where(x => KnockUpHelper.KnockedUp(x) && x.Distance(Global.Player) <= SpellConfig.R.Range);
                var targetCount      = (airbourneTargets as Obj_AI_Hero[] ?? airbourneTargets.ToArray()).Length;

                if (targetCount >= MenuConfig.Combo["Count"].Value || targetDist > 350)
                {
                    SpellConfig.R.Cast();
                }
            }
        }