Esempio n. 1
0
        private void KillSteal()
        {
            if (Menu.GetBool("KillStealW") && W.IsReady())
            {
                foreach (var target in HeroManager.Enemies.Where(x => x.IsValidTarget(W.Range) && x.Health < W.GetDamage(x)))
                {
                    if (Orbwalking.InAutoAttackRange(target) && target.Health <= Me.GetAutoAttackDamage(target, true))
                    {
                        continue;
                    }

                    SpellManager.PredCast(W, target);
                    return;
                }
            }

            if (Menu.GetBool("KillStealR") && R.IsReady())
            {
                foreach (
                    var target in
                    HeroManager.Enemies.Where(
                        x =>
                        x.IsValidTarget(R.Range) && x.DistanceToPlayer() > Menu.GetSlider("rMenuMin") &&
                        Menu.GetBool("KillStealR" + x.ChampionName.ToLower()) && x.Health < R.GetDamage(x)))
                {
                    SpellManager.PredCast(R, target, true);
                    return;
                }
            }
        }
Esempio n. 2
0
        private void BeforeAttack(Orbwalking.BeforeAttackEventArgs args)
        {
            if (Menu.GetBool("Forcus"))
            {
                if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo ||
                    Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed)
                {
                    foreach (var enemy in HeroManager.Enemies.Where(x => !x.IsDead && !x.IsZombie &&
                                                                    Orbwalking.InAutoAttackRange(x) &&
                                                                    x.HasBuff("kalistacoopstrikemarkally")))
                    {
                        Orbwalker.ForceTarget(enemy);
                    }
                }
                else if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear)
                {
                    var all = MinionManager.GetMinions(Me.Position, Orbwalking.GetRealAutoAttackRange(Me),
                                                       MinionTypes.All, MinionTeam.NotAlly)
                              .Where(x => Orbwalking.InAutoAttackRange(x) && x.HasBuff("kalistacoopstrikemarkally"));

                    if (all.Any())
                    {
                        Orbwalker.ForceTarget(all.FirstOrDefault());
                    }
                }
            }
        }
Esempio n. 3
0
        private void KillSteal()
        {
            if (R.Instance.Name == "JhinRShot")
            {
                return;
            }

            if (Menu.GetBool("KillStealQ") && Q.IsReady())
            {
                foreach (
                    var target in
                    HeroManager.Enemies.Where(
                        x => x.IsValidTarget(Q.Range) && x.Health < Me.GetSpellDamage(x, SpellSlot.Q)))
                {
                    if (target.Check(Q.Range))
                    {
                        Q.CastOnUnit(target, true);
                    }
                }
            }

            if (Menu.GetBool("KillStealW") && W.IsReady())
            {
                foreach (
                    var target in
                    HeroManager.Enemies.Where(
                        x => x.IsValidTarget(W.Range) && x.Health < Me.GetSpellDamage(x, SpellSlot.W)))
                {
                    if (target.Check(W.Range))
                    {
                        if (target.Health < Me.GetSpellDamage(target, SpellSlot.Q) && Q.IsReady() &&
                            target.IsValidTarget(Q.Range))
                        {
                            return;
                        }

                        if (Menu.GetBool("KillStealWInAttackRange") && Orbwalking.InAutoAttackRange(target))
                        {
                            SpellManager.PredCast(W, target, true);
                            return;
                        }

                        if (Orbwalking.InAutoAttackRange(target) && target.Health <= Me.GetAutoAttackDamage(target, true))
                        {
                            return;
                        }

                        SpellManager.PredCast(W, target, true);
                        return;
                    }
                }
            }
        }
Esempio n. 4
0
        internal static void Init(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs Args)
        {
            if (!sender.IsMe || Args.SData == null || !Orbwalking.IsAutoAttack(Args.SData.Name) || Args.Target == null)
            {
                return;
            }

            if (Orbwalking.isCombo && Args.Target.Type == GameObjectType.obj_AI_Hero)
            {
                SpellManager.CastItem();

                var target = (Obj_AI_Hero)Args.Target;

                if (target != null && !target.IsDead && !target.IsZombie)
                {
                    if (Menu.GetBool("ComboW") && W.IsReady() && Orbwalking.InAutoAttackRange(target))
                    {
                        W.Cast();
                        Orbwalker.ForceTarget(target);
                    }
                }
            }

            if (Orbwalking.isHarass && Args.Target.Type == GameObjectType.obj_AI_Hero)
            {
                SpellManager.CastItem();

                var target = (Obj_AI_Hero)Args.Target;

                if (target != null && !target.IsDead && !target.IsZombie)
                {
                    if (Menu.GetBool("HarassW") && W.IsReady() && Orbwalking.InAutoAttackRange(target))
                    {
                        W.Cast();
                        Orbwalker.ForceTarget(target);
                    }
                }
            }

            if (Orbwalking.isLaneClear)
            {
                LaneClear(Args);
                JungleClear(Args);
            }
        }
Esempio n. 5
0
        private void Combo()
        {
            if (Me.IsWindingUp)
            {
                return;
            }

            if (Menu.GetBool("ComboR") && R.IsReady())
            {
                if (Me.CountEnemiesInRange(800) >= Menu.GetSlider("ComboRCount"))
                {
                    R.Cast();
                }

                if (Me.CountEnemiesInRange(600) >= 1 && Me.HealthPercent <= Menu.GetSlider("ComboRHp"))
                {
                    R.Cast();
                }
            }

            if (Menu.GetBool("ComboE") && E.IsReady())
            {
                var target = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical);

                if (target.Check(E.Range))
                {
                    ELogic(target);
                }
            }

            if (Menu.GetBool("ComboQ") && Q.IsReady())
            {
                var target = TargetSelector.GetTarget(800, TargetSelector.DamageType.Physical);

                if (target.Check(800f))
                {
                    if (Menu.GetBool("AQALogic") && Orbwalking.InAutoAttackRange(target))
                    {
                        return;
                    }

                    QLogic(target);
                }
            }
        }
Esempio n. 6
0
        private void KillSteal()
        {
            if (Menu.GetBool("KillStealQ") && Q.IsReady())
            {
                foreach (
                    var target in
                    HeroManager.Enemies.Where(
                        x => x.Check(Q.Range) && x.Health < Q.GetDamage(x)))
                {
                    if (Orbwalking.InAutoAttackRange(target) && target.Health <= Me.GetAutoAttackDamage(target, true))
                    {
                        continue;
                    }

                    SpellManager.PredCast(Q, target);
                }
            }
        }
Esempio n. 7
0
        private static void JungleClear(GameObjectProcessSpellCastEventArgs Args)
        {
            if (Args.SData == null || !Orbwalking.IsAutoAttack(Args.SData.Name) || Args.Target == null ||
                !Orbwalking.isLaneClear || Args.Target.Type != GameObjectType.obj_AI_Minion ||
                !ManaManager.HasEnoughMana(Menu.GetSlider("JungleClearMana")) || !ManaManager.SpellFarm)
            {
                return;
            }

            var mobs = MinionManager.GetMinions(Orbwalking.GetRealAutoAttackRange(Me), MinionTypes.All,
                                                MinionTeam.Neutral, MinionOrderTypes.MaxHealth);
            var mob = mobs.FirstOrDefault();

            if (mob != null)
            {
                SpellManager.CastItem();

                if (Menu.GetBool("JungleClearW") && W.IsReady() && Orbwalking.InAutoAttackRange(Me))
                {
                    W.Cast(true);
                }
            }
        }
Esempio n. 8
0
        private void KillSteal()
        {
            if (Menu.GetBool("KillStealE") && E.IsReady())
            {
                foreach (var target in HeroManager.Enemies.Where(x => x.IsValidTarget(E.Range) && x.Health < E.GetDamage(x) - 5))
                {
                    if (target.Check(E.Range))
                    {
                        E.Cast();
                    }
                }
            }

            if (Menu.GetBool("KillStealW") && W.IsReady())
            {
                foreach (var target in HeroManager.Enemies.Where(x => x.IsValidTarget(W.Range) && x.Health < W.GetDamage(x)))
                {
                    if (target.Check(W.Range) && !Orbwalking.InAutoAttackRange(target))
                    {
                        SpellManager.PredCast(W, target, true);
                    }
                }
            }
        }
Esempio n. 9
0
        private void Combo()
        {
            var target = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical);

            if (target.Check(E.Range))
            {
                if (Menu.GetBool("ComboW") && W.IsReady() && !Me.HasBuff("dravenfurybuff"))
                {
                    if (Menu.GetBool("ComboWLogic"))
                    {
                        if (target.DistanceToPlayer() >= 600)
                        {
                            W.Cast();
                        }
                        else
                        {
                            if (target.Health <
                                (AxeCount > 0 ? Q.GetDamage(target) * 5 : Me.GetAutoAttackDamage(target) * 5))
                            {
                                W.Cast();
                            }
                        }
                    }
                    else
                    {
                        W.Cast();
                    }
                }

                if (Menu.GetBool("ComboE") && E.IsReady())
                {
                    if (!Orbwalking.InAutoAttackRange(target) ||
                        target.Health < (AxeCount > 0 ? Q.GetDamage(target) * 3 : Me.GetAutoAttackDamage(target) * 3) ||
                        Me.HealthPercent < 40)
                    {
                        SpellManager.PredCast(E, target);
                    }
                }

                if (Menu.GetBool("ComboR") && R.IsReady())
                {
                    if (Menu.GetBool("ComboRSolo"))
                    {
                        if ((target.Health <
                             R.GetDamage(target) +
                             (AxeCount > 0 ? Q.GetDamage(target) * 2 : Me.GetAutoAttackDamage(target) * 2) +
                             (E.IsReady() ? E.GetDamage(target) : 0)) &&
                            target.Health > (AxeCount > 0 ? Q.GetDamage(target) * 3 : Me.GetAutoAttackDamage(target) * 3) &&
                            (Me.CountEnemiesInRange(1000) == 1 ||
                             (Me.CountEnemiesInRange(1000) == 2 && Me.HealthPercent >= 60)))
                        {
                            SpellManager.PredCast(R, target, true);
                        }
                    }

                    if (Menu.GetBool("ComboRTeam"))
                    {
                        if (Me.CountAlliesInRange(1000) <= 3 && Me.CountEnemiesInRange(1000) <= 3)
                        {
                            var rPred = R.GetPrediction(target);

                            if (rPred.AoeTargetsHitCount >= 3)
                            {
                                R.Cast(rPred.CastPosition);
                            }
                            else if (rPred.AoeTargetsHitCount >= 2)
                            {
                                R.Cast(rPred.CastPosition);
                            }
                        }
                        else if (Me.CountAlliesInRange(1000) <= 2 && Me.CountEnemiesInRange(1000) <= 4)
                        {
                            var rPred = R.GetPrediction(target);

                            if (rPred.AoeTargetsHitCount >= 3)
                            {
                                R.Cast(rPred.CastPosition);
                            }
                        }
                    }
                }
            }
        }
Esempio n. 10
0
        private void Combo()
        {
            var target = TargetSelector.GetSelectedTarget() ??
                         TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical);

            if (target.Check(Q.Range))
            {
                if (Menu.GetBool("ComboAttack") && target.DistanceToPlayer() > Orbwalking.GetRealAutoAttackRange(Me))
                {
                    var minion =
                        MinionManager.GetMinions(Me.Position, Orbwalking.GetRealAutoAttackRange(Me), MinionTypes.All,
                                                 MinionTeam.NotAlly)
                        .Where(Orbwalking.InAutoAttackRange)
                        .OrderBy(x => x.DistanceToPlayer())
                        .FirstOrDefault();

                    if (minion != null && !minion.IsDead)
                    {
                        Orbwalking.Orbwalk(minion, Game.CursorPos);
                    }
                }

                if (Menu.GetBool("ComboQ") && Q.IsReady() && target.IsValidTarget(Q.Range) && !Orbwalking.InAutoAttackRange(target))
                {
                    if (Menu.GetBool("ComboMana"))
                    {
                        if (Me.Mana > Q.ManaCost + E.ManaCost)
                        {
                            SpellManager.PredCast(Q, target);
                        }
                    }
                    else
                    {
                        SpellManager.PredCast(Q, target);
                    }
                }

                if (Menu.GetBool("ComboW") && W.IsReady() && Utils.TickCount - lastWCast > 2000)
                {
                    if (NavMesh.IsWallOfGrass(target.ServerPosition, 20) && !target.IsVisible)
                    {
                        if (Menu.GetBool("ComboMana"))
                        {
                            if (Me.Mana > Q.ManaCost + E.ManaCost * 2 + W.ManaCost + R.ManaCost)
                            {
                                W.Cast(target.ServerPosition);
                            }
                        }
                        else
                        {
                            W.Cast(target.ServerPosition);
                        }
                    }
                }

                if (Menu.GetBool("ComboE") && E.IsReady() && target.IsValidTarget(E.Range) &&
                    target.HasBuff("kalistaexpungemarker") && Utils.TickCount - lastECast >= 500)
                {
                    if (target.Health < GetRealEDamage(target))
                    {
                        E.Cast();
                    }

                    if (Menu.GetBool("ComboEUse") && target.DistanceToPlayer() > Orbwalking.GetRealAutoAttackRange(Me) + 100)
                    {
                        var EKillMinion =
                            MinionManager
                            .GetMinions(Me.Position, E.Range, MinionTypes.All, MinionTeam.NotAlly)
                            .FirstOrDefault(x => x.HasBuff("kalistaexpungemarker") &&
                                            x.DistanceToPlayer() <= E.Range && x.Health < GetRealEDamage(x));

                        if (EKillMinion != null && EKillMinion.DistanceToPlayer() <= E.Range &&
                            target.IsValidTarget(E.Range))
                        {
                            E.Cast();
                        }
                    }
                }
            }
        }
Esempio n. 11
0
        private void Cast_E(Obj_AI_Hero target, bool FirstE)
        {
            if (FirstE)
            {
                var castpos = Me.ServerPosition.Extend(target.ServerPosition, 220);
                var maxepos = Me.ServerPosition.Extend(target.ServerPosition, E.Range);

                if (maxepos.UnderTurret(true) && Menu.GetBool("underE"))
                {
                    return;
                }

                if (NavMesh.GetCollisionFlags(maxepos).HasFlag(CollisionFlags.Wall) ||
                    NavMesh.GetCollisionFlags(maxepos).HasFlag(CollisionFlags.Building) &&
                    Menu.GetBool("ECheck"))
                {
                    return;
                }

                if (maxepos.CountEnemiesInRange(500) >= 3 && maxepos.CountAlliesInRange(400) < 3 && Menu.GetBool("SafeCheck"))
                {
                    return;
                }

                if (!Orbwalking.InAutoAttackRange(target) &&
                    target.ServerPosition.Distance(castpos) > Orbwalking.GetRealAutoAttackRange(Me) &&
                    target.ServerPosition.Distance(maxepos) <= Orbwalking.GetRealAutoAttackRange(Me))
                {
                    E.Cast(maxepos, true);
                }
            }
            else
            {
                var castpos = Me.ServerPosition.Extend(Game.CursorPos, 220);
                var maxepos = Me.ServerPosition.Extend(Game.CursorPos, E.Range);

                if ((castpos.UnderTurret(true) || maxepos.UnderTurret(true)) && Menu.GetBool("underE"))
                {
                    return;
                }

                if ((NavMesh.GetCollisionFlags(castpos).HasFlag(CollisionFlags.Wall) ||
                     NavMesh.GetCollisionFlags(castpos).HasFlag(CollisionFlags.Building) &&
                     (NavMesh.GetCollisionFlags(maxepos).HasFlag(CollisionFlags.Wall) ||
                      NavMesh.GetCollisionFlags(maxepos).HasFlag(CollisionFlags.Building))) &&
                    Menu.GetBool("ECheck"))
                {
                    return;
                }

                if (((castpos.CountEnemiesInRange(500) >= 3 && castpos.CountAlliesInRange(400) < 3) ||
                     (maxepos.CountEnemiesInRange(500) >= 3 && maxepos.CountAlliesInRange(400) < 3)) &&
                    Menu.GetBool("SafeCheck"))
                {
                    return;
                }

                if (Orbwalking.InAutoAttackRange(target) &&
                    target.ServerPosition.Distance(castpos) <= Orbwalking.GetRealAutoAttackRange(Me))
                {
                    E.Cast(Menu.GetBool("ShortELogic") ? castpos : maxepos, true);
                }
                else if (!Orbwalking.InAutoAttackRange(target) && target.ServerPosition.Distance(castpos) <=
                         Orbwalking.GetRealAutoAttackRange(Me))
                {
                    E.Cast(Menu.GetBool("ShortELogic") ? castpos : maxepos, true);
                }
                else if (!Orbwalking.InAutoAttackRange(target) &&
                         target.ServerPosition.Distance(castpos) > Orbwalking.GetRealAutoAttackRange(Me) &&
                         target.ServerPosition.Distance(maxepos) <= Orbwalking.GetRealAutoAttackRange(Me))
                {
                    E.Cast(maxepos, true);
                }
            }
        }
Esempio n. 12
0
        private void BeforeAttack(Orbwalking.BeforeAttackEventArgs Args)
        {
            if (Menu.GetBool("Forcustarget"))
            {
                if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo ||
                    Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed)
                {
                    foreach (
                        var enemy in
                        HeroManager.Enemies.Where(
                            enemy => Orbwalking.InAutoAttackRange(enemy) && enemy.HasBuff("TristanaEChargeSound")))
                    {
                        Orbwalker.ForceTarget(enemy);
                    }
                }
            }

            if (Args.Unit.IsMe && Orbwalking.InAutoAttackRange(Args.Target))
            {
                switch (Orbwalker.ActiveMode)
                {
                case Orbwalking.OrbwalkingMode.Combo:
                {
                    if (Menu.GetBool("ComboQ") && Q.IsReady())
                    {
                        if (Menu.GetBool("ComboQOnlyPassive"))
                        {
                            var Target = Args.Target.Type == GameObjectType.obj_AI_Hero
                                        ? (Obj_AI_Hero)Args.Target
                                        : null;

                            if (Target != null &&
                                (Target.HasBuff("TristanaEChargeSound") || Target.HasBuff("TristanaECharge")))
                            {
                                Q.Cast();
                            }
                        }
                        else
                        {
                            Q.Cast();
                        }
                    }
                    break;
                }

                case Orbwalking.OrbwalkingMode.LaneClear:
                {
                    if (ManaManager.HasEnoughMana(Menu.GetSlider("JungleClearMana")) && ManaManager.SpellFarm)
                    {
                        if (Menu.GetBool("JungleClearQ") && Q.IsReady())
                        {
                            var minion =
                                MinionManager.GetMinions(Orbwalking.GetRealAutoAttackRange(ObjectManager.Player),
                                                         MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth);

                            if (minion.Any(x => x.NetworkId == Args.Target.NetworkId))
                            {
                                Q.Cast();
                            }
                        }
                    }
                    break;
                }
                }
            }
        }