Пример #1
0
        private static void PermaActive(EventArgs args)
        {
            if (Menu.Config.Item("ks.q").IsActive())
            {
                foreach (var enemy in HeroManager.Enemies.Where(e => Q.CanCast(e) && Q.IsKillable(e)))
                {
                    Q.Cast(enemy);
                    return;
                }
            }

            if (Menu.Config.Item("ks.r").IsActive())
            {
                var r2 = Player.HasBuff("corkimissilebarragecounterbig");

                if (r2)
                {
                    foreach (var enemy in HeroManager.Enemies.Where(e => R.CanCast(e) && R.IsKillable(e)))
                    {
                        R.Cast(enemy);
                        return;
                    }
                }
                else
                {
                    foreach (var enemy in HeroManager.Enemies.Where(e => R2.CanCast(e) && R2.IsKillable(e)))
                    {
                        R2.Cast(enemy);
                        return;
                    }
                }
            }
        }
Пример #2
0
        public static void Combo()
        {
            var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical);

            if (target != null)
            {
                if (Menu.Config.Item("q.combo").IsActive())
                {
                    if (Q.CanCast(target))
                    {
                        if (target.IsMoving && target.Path.ToList().Count >= 2)
                        {
                            //var qpred = Q.GetPrediction(target);
                            var x = target.Position.Extend(Prediction.GetPrediction(target, Q.Delay).UnitPosition, 300);

                            if (Q.IsInRange(x))
                            {
                                Q.Cast(x);
                                return;
                            }
                        }

                        var qpred = Q.GetPrediction(target);
                        if (qpred.Hitchance >= HitChance.Dashing)
                        {
                            Q.Cast(qpred.CastPosition);
                        }
                    }
                }

                if (Menu.Config.Item("e.combo").IsActive())
                {
                    if (E.IsReady() && Player.IsFacing(target))
                    {
                        E.Cast(target);
                    }
                }
            }

            if (Menu.Config.Item("r.combo").IsActive() && Menu.Config.Item("r.combo.stacks").GetValue <Slider>().Value < R.Instance.Ammo)
            {
                if (R.IsReady())
                {
                    var r2 = Player.HasBuff("corkimissilebarragecounterbig");
                    if (!r2)
                    {
                        var rtarget = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical);
                        if (rtarget == null)
                        {
                            return;
                        }
                        var pred = R.GetPrediction(rtarget);
                        if (R.CanCast(rtarget))
                        {
                            switch (pred.Hitchance)
                            {
                            case HitChance.High:
                            case HitChance.VeryHigh:
                            case HitChance.Immobile:
                                R.Cast(pred.CastPosition);
                                break;

                            case HitChance.Collision:
                                var colliding =
                                    pred.CollisionObjects.OrderBy(o => o.Distance(Player.ServerPosition)).ToList();
                                if (colliding[0].Distance(rtarget.ServerPosition) <= 200 + colliding[0].BoundingRadius)
                                {
                                    R.Cast(pred.CastPosition);
                                }
                                break;
                            }
                        }
                    }
                    else
                    {
                        var rtarget = TargetSelector.GetTarget(R2.Range, TargetSelector.DamageType.Magical);
                        if (rtarget == null)
                        {
                            return;
                        }
                        var pred = R2.GetPrediction(rtarget);
                        if (R2.CanCast(rtarget))
                        {
                            switch (pred.Hitchance)
                            {
                            case HitChance.High:
                            case HitChance.VeryHigh:
                            case HitChance.Immobile:
                                R2.Cast(pred.CastPosition);
                                break;

                            case HitChance.Collision:
                                var colliding =
                                    pred.CollisionObjects.OrderBy(o => o.Distance(Player.ServerPosition)).ToList();
                                if (colliding[0].Distance(rtarget.ServerPosition) <= 200 + colliding[0].BoundingRadius)
                                {
                                    R.Cast(pred.CastPosition);
                                }
                                break;
                            }
                        }
                    }
                }
            }
        }