Пример #1
0
        // }
        private static void SpecialUlt()
        {
            Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos);
            var target = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical);

            if (GetOrbCount() == Config.Item("SpheresNumber").GetValue <Slider>().Value)
            {
                R.Cast(target);
            }
            if (Config.Item("SpheresNumber").GetValue <Slider>().Value == 4)
            {
                Q.Cast(Player.Position);
            }
            if (Config.Item("SpheresNumber").GetValue <Slider>().Value == 5)
            {
                if (Q.IsReady() && GetOrbCount() < 5)
                {
                    Q.Cast(Player.Position);
                }
            }
            if (Config.Item("SpheresNumber").GetValue <Slider>().Value == 6)
            {
                if (Q.IsReady() && GetOrbCount() < 6)
                {
                    Q.Cast(Player.Position);
                    var sphere = GetGrabableObjectPos(true);
                    if (sphere.To2D().IsValid() && Utils.TickCount - W.LastCastAttemptT > Game.Ping + 300)
                    {
                        W.Cast(sphere);
                        W.LastCastAttemptT = Utils.TickCount;
                    }
                    else if (target != null && Player.Spellbook.GetSpell(SpellSlot.W).ToggleState != 1 && W.IsReady() &&
                             Utils.TickCount - W.LastCastAttemptT > Game.Ping + 100)
                    {
                        if (OrbManager.WObject(false) != null)
                        {
                            W.From = OrbManager.WObject(false).ServerPosition;
                            W.Cast(Player, false, true);
                        }
                    }
                }
            }
            if (Config.Item("SpheresNumber").GetValue <Slider>().Value == 7)
            {
                if (Q.IsReady() && GetOrbCount() < 5)
                {
                    Q.Cast(Player.Position);
                }
                var sphere = GetGrabableObjectPos(true);
                if (sphere.To2D().IsValid() && Utils.TickCount - W.LastCastAttemptT > Game.Ping + 300)
                {
                    W.Cast(sphere);
                    W.LastCastAttemptT = Utils.TickCount;
                }
                else if (target != null && Player.Spellbook.GetSpell(SpellSlot.W).ToggleState != 1 && W.IsReady() &&
                         Utils.TickCount - W.LastCastAttemptT > Game.Ping + 100)
                {
                    if (OrbManager.WObject(false) != null)
                    {
                        W.From = OrbManager.WObject(false).ServerPosition;
                        W.Cast(Player, false, true);
                    }
                }
                if (Q.IsReady() && GetOrbCount() > 7)
                {
                    Q.Cast(Player.Position);
                }
            }
        }
Пример #2
0
        private static void Combo()
        {
            var target = TargetSelector.GetTarget(1300, TargetSelector.DamageType.Magical);

            if (Q.IsReady() && (Config.Item("UseQCombo").GetValue <bool>()))
            {
                var Qprediction = Q.GetPrediction(target);

                if (Qprediction.Hitchance >= HitChance.VeryHigh)
                {
                    Q.Cast(Qprediction.CastPosition);
                }
            }
            if (Player.Spellbook.GetSpell(SpellSlot.W).ToggleState == 1 && W.IsReady())
            {
                var WGrabObject = GetGrabableObjectPos(target == null);

                if (WGrabObject.To2D().IsValid() && Utils.TickCount - W.LastCastAttemptT > Game.Ping + 300)
                {
                    W.Cast(WGrabObject);
                    W.LastCastAttemptT = Utils.TickCount;
                }
                else if (target != null && Player.Spellbook.GetSpell(SpellSlot.W).ToggleState != 1 && W.IsReady() &&
                         Utils.TickCount - W.LastCastAttemptT > Game.Ping + 100)
                {
                    if (OrbManager.WObject(false) != null)
                    {
                        W.From = OrbManager.WObject(false).ServerPosition;
                        W.Cast(target, false, true);
                    }
                }
            }
            else if (target != null && Player.Spellbook.GetSpell(SpellSlot.W).ToggleState != 1 && W.IsReady() &&
                     Utils.TickCount - W.LastCastAttemptT > Game.Ping + 100)
            {
                if (OrbManager.WObject(false) != null)
                {
                    W.From = OrbManager.WObject(false).ServerPosition;
                    W.Cast(target, false, true);
                }
            }
            if (E.IsReady() && (Config.Item("UseECombo").GetValue <bool>()))
            {
                foreach (var orb in OrbManager.GetOrbs(true))
                {
                    if (Player.Distance(orb) < E.Range + 100)
                    {
                        var startPoint = orb.To2D().Extend(Player.ServerPosition.To2D(), 100);
                        var endPoint   = Player.ServerPosition.To2D()
                                         .Extend(orb.To2D(), Player.Distance(orb) > 200 ? 1300 : 1000);
                        QE.Delay = E.Delay + Player.Distance(orb) / E.Speed;
                        QE.From  = orb;
                        var enemyPred = QE.GetPrediction(target);
                        if (enemyPred.Hitchance >= HitChance.VeryHigh &&
                            enemyPred.UnitPosition.To2D().Distance(startPoint, endPoint, false) <
                            QE.Width + target.BoundingRadius)
                        {
                            E.Cast(orb, true);
                            W.LastCastAttemptT = Utils.TickCount;
                            return;
                        }
                    }
                }
            }
            if (E.IsReady() && Q.IsReady() && (Config.Item("UseQECombo").GetValue <bool>()))
            {
                QE.Delay = E.Delay + Q.Range / E.Speed;
                QE.From  = Player.ServerPosition.To2D().Extend(target.ServerPosition.To2D(), Q.Range).To3D();

                var prediction = QE.GetPrediction(target);
                if (prediction.Hitchance >= HitChance.High)
                {
                    Q.Cast(Player.ServerPosition.To2D().Extend(prediction.CastPosition.To2D(), Q.Range - 100));
                    QET = Utils.TickCount;
                    W.LastCastAttemptT = Utils.TickCount;
                }
            }
            if (R.IsReady() && (Config.Item("UseRCombo").GetValue <bool>()))
            {
                if (target.Health < R.GetDamage(target))
                {
                    R.Cast(target);
                }
            }
        }