Exemplo n.º 1
0
        private void Harass()
        {
            if (ManaManager.HasEnoughMana(Menu.GetSlider("HarassMana")))
            {
                var target = TargetSelector.GetTarget(QExtend.Range, TargetSelector.DamageType.Physical);

                if (target.Check(QExtend.Range))
                {
                    if (Menu.GetBool("HarassE") && E.IsReady() && target.IsValidTarget(E.Range))
                    {
                        SpellManager.PredCast(E, target, true);
                    }

                    if (Menu.GetBool("HarassW") && W.IsReady())
                    {
                        if (HaveEBuff(target) && Q.IsReady())
                        {
                            W.Cast();
                        }
                    }

                    if (Menu.GetBool("HarassQ") && Q.IsReady() && target.IsValidTarget(QExtend.Range))
                    {
                        if (!HaveEBuff(target) && target.IsValidTarget(Q.Range))
                        {
                            SpellManager.PredCast(Q, target);
                        }
                        else if (target.IsValidTarget(QExtend.Range) && HaveEBuff(target))
                        {
                            QExtend.Cast(target);
                        }
                    }
                }
            }
        }
Exemplo n.º 2
0
        private void CastQCannon(Obj_AI_Hero target, bool useE)
        {
            var gateDis = Menu.Item("gatePlace", true).GetValue <Slider>().Value;

            var tarPred = QExtend.GetPrediction(target, true);

            if (tarPred.Hitchance >= HitChance.VeryHigh && Qcd == 0 && Ecd == 0 && useE)
            {
                var gateVector = Player.Position + Vector3.Normalize(target.ServerPosition - Player.Position) * gateDis;

                if (Player.Distance(tarPred.CastPosition) < QExtend.Range + 100)
                {
                    if (E.IsReady() && QExtend.IsReady())
                    {
                        E.Cast(gateVector);
                        QExtend.Cast(tarPred.CastPosition);
                        return;
                    }
                }
            }

            if ((Menu.Item("UseQAlways", true).GetValue <bool>() || !useE) &&
                Qcd == 0 && Q.GetPrediction(target, true).Hitchance >= HitChance.VeryHigh &&
                Player.Distance(target.ServerPosition) <= Q.Range && Q.IsReady() && Ecd != 0)
            {
                Q.Cast(target);
            }
        }
Exemplo n.º 3
0
        private void CastQ(Obj_AI_Hero target)
        {
            if (soilderCount() < 1)
            {
                return;
            }

            var slaves = xSLxOrbwalker.Soilders.ToList();

            foreach (var slave in slaves)
            {
                if (target != null && Player.Distance(target) < QExtend.Range && ShouldQ(target, slave))
                {
                    var qPred = GetP(slave.Position, QExtend, target, true);

                    if (Q.IsReady() && Player.Distance(target) < 800 && qPred.Hitchance >= getQHitchance())
                    {
                        Q.Cast(qPred.CastPosition, packets());
                        return;
                    }
                    if (Q.IsReady() && Player.Distance(target) > 800 && qPred.Hitchance >= getQHitchance() && menu.Item("qExtend", true).GetValue <bool>())
                    {
                        var qVector = Player.ServerPosition + Vector3.Normalize(qPred.CastPosition - Player.ServerPosition) * 800;

                        //Game.PrintChat("QHarass");
                        QExtend.Cast(qVector, packets());
                        return;
                    }
                }
            }
        }
Exemplo n.º 4
0
        private static void Harass()
        {
            if (HarassOption.HasEnouguMana)
            {
                var target = TargetSelector.GetTarget(QExtend.Range, TargetSelector.DamageType.Physical);

                if (target.IsValidTarget(QExtend.Range))
                {
                    if (HarassOption.UseE && E.IsReady() && target.IsValidTarget(E.Range))
                    {
                        SpellManager.PredCast(E, target, true);
                    }

                    if (HarassOption.UseW && W.IsReady())
                    {
                        if (HaveEBuff(target) && Q.IsReady())
                        {
                            W.Cast();
                        }
                    }

                    if (HarassOption.UseQ && Q.IsReady() && target.IsValidTarget(QExtend.Range))
                    {
                        if (!HaveEBuff(target) && target.IsValidTarget(Q.Range))
                        {
                            SpellManager.PredCast(Q, target);
                        }
                        else if (target.IsValidTarget(QExtend.Range) && HaveEBuff(target))
                        {
                            QExtend.Cast(target, true);
                        }
                    }
                }
            }
        }
Exemplo n.º 5
0
        private void CastQ(Obj_AI_Hero target)
        {
            if (soilderCount() < 1)
            {
                return;
            }

            var slaves = (from obj in ObjectManager.Get <Obj_AI_Base>() where obj.Name == "AzirSoldier" && obj.IsAlly && target.Distance(obj.ServerPosition) < 2000 select obj).ToList();

            foreach (var slave in slaves)
            {
                if (target != null && Player.Distance(target) < QExtend.Range && ShouldQ(target, slave))
                {
                    var qPred = GetP(slave.ServerPosition, QExtend, target, true);

                    if (Q.IsReady() && Player.Distance(target) < 800 && qPred.Hitchance >= getQHitchance())
                    {
                        Q.Cast(qPred.CastPosition, packets());
                        return;
                    }
                    if (Q.IsReady() && Player.Distance(target) > 800 && qPred.Hitchance >= getQHitchance() && menu.Item("qExtend").GetValue <bool>())
                    {
                        var qVector = Player.ServerPosition + Vector3.Normalize(qPred.CastPosition - Player.ServerPosition) * 800;

                        //Game.PrintChat("QHarass");
                        QExtend.Cast(qVector, packets());
                        return;
                    }
                }
            }
        }
Exemplo n.º 6
0
        private void CastWq(Obj_AI_Hero target)
        {
            if (Player.Distance(target) < 1150 && Player.Distance(target) > 450)
            {
                if (W.IsReady() && (Q.IsReady() || qSpell.State == SpellState.Surpressed))
                {
                    Vector3 wVec = Player.ServerPosition + Vector3.Normalize(target.ServerPosition - Player.ServerPosition) * 450;

                    var qPred = GetP(wVec, QExtend, target, true);

                    if (qPred.Hitchance >= getQHitchance())
                    {
                        W.Cast(wVec);
                        QExtend.Cast(qPred.CastPosition, packets());
                    }
                }
            }
        }
Exemplo n.º 7
0
        private void CastQe(Obj_AI_Hero target)
        {
            if (soilderCount() > 0)
            {
                if ((Q.IsReady() || QSpell.State == SpellState.Surpressed) && E.IsReady())
                {
                    var slaves = xSLxOrbwalker.Soilders.ToList();

                    foreach (var slave in slaves)
                    {
                        if (target != null && Player.Distance(target) < 800)
                        {
                            var qPred = GetP(slave.Position, QExtend, target, true);

                            if (Q.IsReady() && Player.Distance(target) < 800 && qPred.Hitchance >= getQHitchance())
                            {
                                var vec        = target.ServerPosition - Player.ServerPosition;
                                var castBehind = qPred.CastPosition + Vector3.Normalize(vec) * 75;

                                Q.Cast(castBehind, packets());
                                E.Cast(slave.Position, packets());
                                return;
                            }
                        }
                    }
                }
            }
            else if (W.IsReady())
            {
                Vector3 wVec = Player.ServerPosition + Vector3.Normalize(target.ServerPosition - Player.ServerPosition) * W.Range;

                var qPred = GetP(wVec, QExtend, target, true);

                if ((Q.IsReady() || QSpell.State == SpellState.Surpressed) && (E.IsReady() || ESpell.State == SpellState.Surpressed) && Player.Distance(target) < 800 && qPred.Hitchance >= getQHitchance())
                {
                    var vec        = target.ServerPosition - Player.ServerPosition;
                    var castBehind = qPred.CastPosition + Vector3.Normalize(vec) * 75;

                    W.Cast(wVec);
                    QExtend.Cast(castBehind, packets());
                    Utility.DelayAction.Add(1, () => E.Cast(getNearestSoilderToEnemy(target).Position, packets()));
                }
            }
        }
Exemplo n.º 8
0
        private void CastQe(Obj_AI_Hero target)
        {
            if (soilderCount() > 0)
            {
                if ((Q.IsReady() || qSpell.State == SpellState.Surpressed) && E.IsReady())
                {
                    var slaves = (from obj in ObjectManager.Get <Obj_AI_Base>() where obj.Name == "AzirSoldier" && obj.IsAlly && target.Distance(obj.ServerPosition) < 2000 select obj).ToList();

                    foreach (var slave in slaves)
                    {
                        if (target != null && Player.Distance(target) < 800)
                        {
                            var qPred = GetP(slave.ServerPosition, QExtend, target, true);

                            if (Q.IsReady() && Player.Distance(target) < 800 && qPred.Hitchance >= getQHitchance())
                            {
                                var vec        = target.ServerPosition - Player.ServerPosition;
                                var castBehind = qPred.CastPosition + Vector3.Normalize(vec) * 75;

                                Q.Cast(castBehind, packets());
                                E.Cast(slave.ServerPosition, packets());
                                return;
                            }
                        }
                    }
                }
            }
            else if (W.IsReady())
            {
                Vector3 wVec = Player.ServerPosition + Vector3.Normalize(target.ServerPosition - Player.ServerPosition) * 450;

                var qPred = GetP(wVec, QExtend, target, true);

                if ((Q.IsReady() || qSpell.State == SpellState.Surpressed) && (E.IsReady() || eSpell.State == SpellState.Surpressed) && Player.Distance(target) < 800 && qPred.Hitchance >= getQHitchance())
                {
                    var vec        = target.ServerPosition - Player.ServerPosition;
                    var castBehind = qPred.CastPosition + Vector3.Normalize(vec) * 75;

                    W.Cast(wVec);
                    QExtend.Cast(castBehind, packets());
                    Utility.DelayAction.Add(1, () => E.Cast(getNearestSoilderToEnemy(target).ServerPosition, packets()));
                }
            }
        }
Exemplo n.º 9
0
        private void Harass()
        {
            if (Me.UnderTurret(true))
            {
                return;
            }

            if (Me.ManaPercent >= Menu.Item("HarassMana", true).GetValue <Slider>().Value)
            {
                var target = TargetSelector.GetSelectedTarget() ??
                             TargetSelector.GetTarget(QExtend.Range, TargetSelector.DamageType.Physical);

                if (CheckTarget(target, QExtend.Range))
                {
                    if (Menu.Item("HarassE", true).GetValue <bool>() && E.IsReady() && target.IsValidTarget(E.Range))
                    {
                        E.CastTo(target);
                    }

                    if (Menu.Item("HarassW", true).GetValue <bool>() && W.IsReady())
                    {
                        if (HaveEBuff(target) && Q.IsReady())
                        {
                            W.Cast();
                        }
                    }

                    if (Menu.Item("HarassQ", true).GetValue <bool>() && Q.IsReady() && target.IsValidTarget(QExtend.Range))
                    {
                        if (!HaveEBuff(target) && target.IsValidTarget(Q.Range))
                        {
                            Q.CastTo(target);
                        }
                        else if (target.IsValidTarget(QExtend.Range) && HaveEBuff(target))
                        {
                            QExtend.Cast(target);
                        }
                    }
                }
            }
        }
Exemplo n.º 10
0
        private void CastWq(Obj_AI_Hero target)
        {
            if (soilderCount() < 1 && menu.Item("qMulti", true).GetValue <KeyBind>().Active)
            {
                return;
            }

            if (Player.Distance(target) < 1150 && Player.Distance(target) > W.Range)
            {
                if (W.IsReady() && (Q.IsReady() || QSpell.State == SpellState.Surpressed))
                {
                    Vector3 wVec = Player.ServerPosition + Vector3.Normalize(target.ServerPosition - Player.ServerPosition) * W.Range;

                    var qPred = GetP(wVec, QExtend, target, true);

                    if (qPred.Hitchance >= getQHitchance())
                    {
                        W.Cast(wVec);
                        QExtend.Cast(qPred.CastPosition, packets());
                    }
                }
            }
        }
Exemplo n.º 11
0
        private void Combo()
        {
            var target = TargetSelector.GetSelectedTarget() ??
                         TargetSelector.GetTarget(QExtend.Range, TargetSelector.DamageType.Physical);

            if (CheckTarget(target, QExtend.Range))
            {
                if (Menu.Item("ComboR", true).GetValue <bool>() && R.IsReady() && target.IsValidTarget(R.Range))
                {
                    if (Menu.Item("RSafe", true).GetValue <bool>() && !Me.UnderTurret(true))
                    {
                        foreach (
                            var rTarget in
                            HeroManager.Enemies.Where(
                                x =>
                                x.IsValidTarget(R.Range) &&
                                !Menu.Item("Dontr" + target.ChampionName.ToLower(), true).GetValue <bool>())
                            .OrderByDescending(x => E.IsReady() ? E.GetDamage(x) : 0 + Q.GetDamage(x) * 2))
                        {
                            if (rTarget.CountEnemiesInRange(R.Range) <= Menu.Item("RSwap", true).GetValue <Slider>().Value)
                            {
                                if (Menu.Item("RAlly", true).GetValue <bool>() && Me.UnderAllyTurret() &&
                                    rTarget.DistanceToPlayer() <= 350)
                                {
                                    R.CastOnUnit(rTarget);
                                }

                                if (Menu.Item("RKill", true).GetValue <bool>() && target.Health < ComboDamage(target))
                                {
                                    R.CastOnUnit(rTarget);
                                }
                            }
                        }
                    }
                }

                if (Menu.Item("ComboE", true).GetValue <bool>() && E.IsReady() && target.IsValidTarget(E.Range) &&
                    (Q.IsReady() || target.Health < E.GetDamage(target)))
                {
                    E.CastTo(target);
                }

                if (Menu.Item("ComboW", true).GetValue <bool>() && W.IsReady())
                {
                    if (target.DistanceToPlayer() <= Orbwalking.GetRealAutoAttackRange(Me))
                    {
                        if (Menu.Item("ComboWAlways", true).GetValue <bool>())
                        {
                            W.Cast();
                        }

                        if (Me.HealthPercent <= Menu.Item("ComboWLowHp", true).GetValue <Slider>().Value)
                        {
                            W.Cast();
                        }
                    }

                    if (Menu.Item("ComboWBuff", true).GetValue <bool>() && HaveEBuff(target) && Q.IsReady())
                    {
                        W.Cast();
                    }
                }

                if (Menu.Item("ComboQ", true).GetValue <bool>() && Q.IsReady() && target.IsValidTarget(QExtend.Range))
                {
                    if (!HaveEBuff(target) && target.IsValidTarget(Q.Range))
                    {
                        if (Menu.Item("ComboFirstE", true).GetValue <bool>() && E.IsReady() &&
                            Menu.Item("ComboE", true).GetValue <bool>() && target.IsValidTarget(E.Range))
                        {
                            E.CastTo(target);
                        }
                        else
                        {
                            Q.CastTo(target);
                        }
                    }
                    else if (target.IsValidTarget(QExtend.Range) && HaveEBuff(target))
                    {
                        QExtend.Cast(target);
                    }
                }
            }
        }
Exemplo n.º 12
0
        private void OnDoCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs Args)
        {
            if (!sender.IsMe || !Orbwalking.IsAutoAttack(Args.SData.Name))
            {
                return;
            }

            if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
            {
                var target = (Obj_AI_Hero)Args.Target;

                if (target != null && !target.IsDead && !target.IsZombie)
                {
                    if (Menu.Item("ComboE", true).GetValue <bool>() && E.IsReady() &&
                        (Q.IsReady() || target.Health < E.GetDamage(target)))
                    {
                        E.Cast(target.Position, true);
                    }

                    if (Menu.Item("ComboW", true).GetValue <bool>() && W.IsReady())
                    {
                        if (target.DistanceToPlayer() <= Orbwalking.GetRealAutoAttackRange(Me))
                        {
                            if (Menu.Item("ComboWAlways", true).GetValue <bool>())
                            {
                                W.Cast();
                            }

                            if (Me.HealthPercent <= Menu.Item("ComboWLowHp", true).GetValue <Slider>().Value)
                            {
                                W.Cast();
                            }
                        }

                        if (Menu.Item("ComboWBuff", true).GetValue <bool>() && HaveEBuff(target) && Q.IsReady())
                        {
                            W.Cast();
                        }
                    }

                    if (Menu.Item("ComboQ", true).GetValue <bool>() && Q.IsReady() && target.IsValidTarget(QExtend.Range))
                    {
                        if (!HaveEBuff(target) && target.IsValidTarget(Q.Range))
                        {
                            if (Menu.Item("ComboFirstE", true).GetValue <bool>() && E.IsReady() &&
                                Menu.Item("ComboE", true).GetValue <bool>() && target.IsValidTarget(E.Range))
                            {
                                E.Cast(target.Position, true);
                            }
                            else
                            {
                                Q.CastTo(target);
                            }
                        }
                        else if (target.IsValidTarget(QExtend.Range) && HaveEBuff(target))
                        {
                            QExtend.Cast(target);
                        }
                    }
                }
            }

            if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear)
            {
                if (Me.ManaPercent >= Menu.Item("JungleClearMana", true).GetValue <Slider>().Value)
                {
                    var mobs = MinionManager.GetMinions(Me.Position, R.Range, MinionTypes.All, MinionTeam.Neutral,
                                                        MinionOrderTypes.MaxHealth);

                    if (mobs.Any())
                    {
                        var mob    = mobs.FirstOrDefault();
                        var bigmob = mobs.FirstOrDefault(x => !x.Name.ToLower().Contains("mini"));

                        if (Menu.Item("JungleClearW", true).GetValue <bool>() && W.IsReady() && bigmob != null &&
                            bigmob.IsValidTarget(W.Range))
                        {
                            W.Cast();
                        }

                        if (Menu.Item("JungleClearQ", true).GetValue <bool>() && Q.IsReady() && mob != null &&
                            mob.IsValidTarget(Q.Range))
                        {
                            Q.Cast(mob);
                        }
                    }
                }
            }
        }
Exemplo n.º 13
0
        private void Insec()
        {
            var target = (Obj_AI_Hero)_insecTarget;

            if (target == null)
            {
                return;
            }

            if (soilderCount() > 0)
            {
                if ((Q.IsReady() || qSpell.State == SpellState.Surpressed) && E.IsReady())
                {
                    var slaves = (from obj in ObjectManager.Get <Obj_AI_Base>() where obj.Name == "AzirSoldier" && obj.IsAlly && target.Distance(obj.ServerPosition) < 2000 select obj).ToList();

                    foreach (var slave in slaves)
                    {
                        if (Player.Distance(target) < 800)
                        {
                            var qPred      = GetP(slave.ServerPosition, QExtend, target, true);
                            var vec        = target.ServerPosition - Player.ServerPosition;
                            var castBehind = qPred.CastPosition + Vector3.Normalize(vec) * 75;
                            _rVec = qPred.CastPosition - Vector3.Normalize(vec) * 300;

                            if (Q.IsReady() && (E.IsReady() || eSpell.State == SpellState.Surpressed) && R.IsReady() && qPred.Hitchance >= getQHitchance())
                            {
                                Q.Cast(castBehind, packets());
                                E.Cast(slave.ServerPosition, packets());
                                E.LastCastAttemptT = Environment.TickCount;
                            }
                        }
                    }
                }
                if (R.IsReady())
                {
                    if (Player.Distance(target) < 200 && Environment.TickCount - E.LastCastAttemptT > Game.Ping + 150)
                    {
                        //Game.PrintChat("rawr");
                        R.Cast(_rVec);
                    }
                }
            }
            else if (W.IsReady())
            {
                Vector3 wVec = Player.ServerPosition + Vector3.Normalize(target.ServerPosition - Player.ServerPosition) * 450;

                var qPred = GetP(wVec, QExtend, target, true);

                if ((Q.IsReady() || qSpell.State == SpellState.Surpressed) && (E.IsReady() || eSpell.State == SpellState.Surpressed) &&
                    R.IsReady() && Player.Distance(target) < 800 && qPred.Hitchance >= getQHitchance())
                {
                    var vec        = target.ServerPosition - Player.ServerPosition;
                    var castBehind = qPred.CastPosition + Vector3.Normalize(vec) * 75;
                    _rVec = Player.Position;

                    W.Cast(wVec);
                    QExtend.Cast(castBehind, packets());
                    E.Cast(getNearestSoilderToEnemy(target).ServerPosition, packets());
                }
                if (R.IsReady())
                {
                    if (Player.Distance(target) < 200 && Environment.TickCount - E.LastCastAttemptT > Game.Ping + 150)
                    {
                        //Game.PrintChat("rawr2");
                        R.Cast(_rVec);
                    }
                }
            }
        }
Exemplo n.º 14
0
        private static void AfterAttack(AttackableUnit unit, AttackableUnit ArgsTarget)
        {
            if (!unit.IsMe)
            {
                return;
            }

            if (isComboMode)
            {
                var target = (AIHeroClient)ArgsTarget;

                if (target != null && !target.IsDead && !target.IsZombie)
                {
                    if (ComboOption.UseE && E.IsReady() && (Q.IsReady() || target.Health < E.GetDamage(target)))
                    {
                        SpellManager.PredCast(E, target, true);
                    }

                    if (ComboOption.UseW && W.IsReady())
                    {
                        if (target.DistanceToPlayer() <= Me.AttackRange + Me.BoundingRadius)
                        {
                            if (ComboOption.GetBool("ComboWAlways"))
                            {
                                W.Cast();
                            }

                            if (Me.HealthPercent <= ComboOption.GetSlider("ComboWLowHp"))
                            {
                                W.Cast();
                            }
                        }

                        if (ComboOption.GetBool("ComboWBuff") && HaveEBuff(target) && Q.IsReady())
                        {
                            W.Cast();
                        }
                    }
                    else if (ComboOption.UseQ && Q.IsReady() && target.IsValidTarget(QExtend.Range))
                    {
                        if (!HaveEBuff(target) && target.IsValidTarget(Q.Range))
                        {
                            if (ComboOption.GetBool("ComboFirstE") && E.IsReady() && ComboOption.UseE && target.IsValidTarget(E.Range))
                            {
                                SpellManager.PredCast(E, target, true);
                            }
                            else
                            {
                                SpellManager.PredCast(Q, target);
                            }
                        }
                        else if (target.IsValidTarget(QExtend.Range) && HaveEBuff(target))
                        {
                            QExtend.Cast(target);
                        }
                    }
                }
            }

            if (isJungleClearMode && JungleClearOption.HasEnouguMana)
            {
                var mobs = MinionManager.GetMinions(Me.Position, E.Range, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth);

                if (mobs.Any())
                {
                    var mob = mobs.FirstOrDefault();

                    if (mob != null)
                    {
                        if (JungleClearOption.UseW && W.IsReady())
                        {
                            W.Cast();
                        }

                        if (JungleClearOption.UseQ && Q.IsReady() && mob.IsValidTarget(Q.Range))
                        {
                            Q.Cast(mob);
                        }
                    }
                }
            }
        }
Exemplo n.º 15
0
        private void Insec()
        {
            var target = (Obj_AI_Hero)_insecTarget;

            if (target == null)
            {
                return;
            }

            if (soilderCount() > 0)
            {
                if ((Q.IsReady() || QSpell.State == SpellState.Surpressed) && E.IsReady())
                {
                    var slaves = xSLxOrbwalker.Soilders.ToList();

                    foreach (var slave in slaves)
                    {
                        if (Player.Distance(target) < 800)
                        {
                            var qPred      = GetP(slave.Position, QExtend, target, true);
                            var vec        = target.ServerPosition - Player.ServerPosition;
                            var castBehind = qPred.CastPosition + Vector3.Normalize(vec) * 75;
                            _rVec = qPred.CastPosition - Vector3.Normalize(vec) * 300;

                            if (Q.IsReady() && (E.IsReady() || ESpell.State == SpellState.Surpressed) && R.IsReady() && qPred.Hitchance >= getQHitchance())
                            {
                                Q.Cast(castBehind, packets());
                                E.Cast(slave.Position, packets());
                                E.LastCastAttemptT = Environment.TickCount;
                            }
                        }
                    }
                }
                if (R.IsReady())
                {
                    if (Player.Distance(target) < 200 && Environment.TickCount - E.LastCastAttemptT > Game.Ping + 150)
                    {
                        //Game.PrintChat("rawr");
                        R.Cast(_rVec);
                    }
                }
            }
            else if (W.IsReady())
            {
                Vector3 wVec = Player.ServerPosition + Vector3.Normalize(target.ServerPosition - Player.ServerPosition) * W.Range;

                var qPred = GetP(wVec, QExtend, target, true);

                if ((Q.IsReady() || QSpell.State == SpellState.Surpressed) && (E.IsReady() || ESpell.State == SpellState.Surpressed) &&
                    R.IsReady() && Player.Distance(target) < 800 && qPred.Hitchance >= getQHitchance())
                {
                    var vec        = target.ServerPosition - Player.ServerPosition;
                    var castBehind = qPred.CastPosition + Vector3.Normalize(vec) * 75;
                    _rVec = Player.Position;

                    W.Cast(wVec);
                    QExtend.Cast(castBehind, packets());
                    E.Cast(getNearestSoilderToEnemy(target).Position, packets());
                }
                if (R.IsReady())
                {
                    if (Player.Distance(target) < 200 && Environment.TickCount - E.LastCastAttemptT > Game.Ping + 150)
                    {
                        //Game.PrintChat("rawr2");
                        R.Cast(_rVec);
                    }
                }
            }
        }
Exemplo n.º 16
0
        private void JungleClear()
        {
            if (!ManaManager.HasMana("JungleClear"))
            {
                return;
            }

            var mobs = MinionManager.GetMinions(Player.Position, 800, MinionTypes.All, MinionTeam.Neutral,
                                                MinionOrderTypes.MaxHealth);

            if (mobs.Any())
            {
                var mob = mobs.FirstOrDefault();

                if (!IsMelee)
                {
                    if (Menu.Item("UseEJungle", true).GetValue <bool>() && E.IsReady() &&
                        Menu.Item("UseQJungle", true).GetValue <bool>() && Q.IsReady())
                    {
                        var gateVector = Player.ServerPosition +
                                         Vector3.Normalize(Game.CursorPos - Player.ServerPosition) * 50;

                        if (mob != null && mob.IsValidTarget(QExtend.Range))
                        {
                            E.Cast(gateVector);
                            QExtend.Cast(mob.Position);
                        }
                    }

                    if (Menu.Item("UseQJungle", true).GetValue <bool>() && Q.IsReady())
                    {
                        var qFarm = MinionManager.GetBestLineFarmLocation(mobs.Select(x => x.Position.To2D()).ToList(),
                                                                          Q.Width, Q.Range);

                        if (qFarm.MinionsHit >= 1)
                        {
                            Q.Cast(qFarm.Position);
                        }
                    }

                    if (Menu.Item("UseWJungle", true).GetValue <bool>() && W.IsReady())
                    {
                        if (mob.Distance(Player) <= 550)
                        {
                            W.Cast();
                        }
                    }

                    if (Menu.Item("UseRJungle", true).GetValue <bool>() && R.IsReady())
                    {
                        if (Qcd != 0 && Wcd != 0 && Ecd != 0)
                        {
                            R.Cast();
                        }
                    }
                }
                else
                {
                    if (Menu.Item("UseWJungleHam", true).GetValue <bool>() && W2.IsReady() && mob.IsValidTarget(300))
                    {
                        W2.Cast();
                    }

                    if (Menu.Item("UseQJungleHam", true).GetValue <bool>() && Q2.IsReady() && mob.IsValidTarget(Q2.Range))
                    {
                        Q2.CastOnUnit(mob);
                    }

                    if (Menu.Item("UseEJungleHam", true).GetValue <bool>() && E2.IsReady() && mob.IsValidTarget(E2.Range))
                    {
                        E2.CastOnUnit(mob);
                    }

                    if (Menu.Item("UseRJungle", true).GetValue <bool>() && R.IsReady())
                    {
                        if (Q1Cd != 0 && W1Cd != 0 && E1Cd != 0)
                        {
                            R.Cast();
                        }
                    }
                }
            }
        }
Exemplo n.º 17
0
        private static void Combo()
        {
            var target = TargetSelector.GetTarget(QExtend.Range, TargetSelector.DamageType.Physical);

            if (target.IsValidTarget(QExtend.Range))
            {
                if (ComboOption.UseR && R.IsReady() && target.IsValidTarget(R.Range))
                {
                    if (MiscOption.GetBool("RSafe") && !Me.UnderTurret(true))
                    {
                        foreach (
                            var rTarget in
                            ObjectManager.Heroes.Enemies.Where(
                                x =>
                                x.IsValidTarget(R.Range) &&
                                !MiscOption.GetBool("Dontr" + target.ChampionName.ToLower()))
                            .OrderByDescending(x => E.IsReady() ? E.GetDamage(x) : 0 + Q.GetDamage(x) * 2))
                        {
                            if (rTarget.CountEnemiesInRange(R.Range) <= MiscOption.GetSlider("RSwap"))
                            {
                                if (MiscOption.GetBool("RAlly") && Me.UnderAllyTurret() && rTarget.DistanceToPlayer() <= 350)
                                {
                                    R.CastOnUnit(rTarget);
                                }

                                if (MiscOption.GetBool("RKill") && target.Health < MyDamageCalculate.GetComboDamage(target))
                                {
                                    R.CastOnUnit(rTarget);
                                }
                            }
                        }
                    }
                }

                if (ComboOption.UseE && E.IsReady() && target.IsValidTarget(E.Range) &&
                    (Q.IsReady() || target.Health < E.GetDamage(target)))
                {
                    SpellManager.PredCast(E, target, true);
                }

                if (ComboOption.UseW && W.IsReady())
                {
                    if (target.DistanceToPlayer() <= Me.AttackRange + Me.BoundingRadius)
                    {
                        if (ComboOption.GetBool("ComboWAlways"))
                        {
                            W.Cast();
                        }

                        if (Me.HealthPercent <= ComboOption.GetSlider("ComboWLowHp"))
                        {
                            W.Cast();
                        }
                    }

                    if (ComboOption.GetBool("ComboWBuff") && HaveEBuff(target) && Q.IsReady())
                    {
                        W.Cast();
                    }
                }

                if (ComboOption.UseQ && Q.IsReady() && target.IsValidTarget(QExtend.Range))
                {
                    if (!HaveEBuff(target) && target.IsValidTarget(Q.Range))
                    {
                        if (ComboOption.GetBool("ComboFirstE") && E.IsReady() && ComboOption.UseE && target.IsValidTarget(E.Range))
                        {
                            SpellManager.PredCast(E, target, true);
                        }
                        else
                        {
                            SpellManager.PredCast(Q, target);
                        }
                    }
                    else if (target.IsValidTarget(QExtend.Range) && HaveEBuff(target))
                    {
                        QExtend.Cast(target);
                    }
                }
            }
        }