Exemplo n.º 1
0
        private void LaneClear()
        {
            if (ManaManager.HasEnoughMana(Menu.GetSlider("LaneClearMana")) && ManaManager.SpellFarm)
            {
                var minions = MinionManager.GetMinions(Me.Position, E.Range);

                if (minions.Any())
                {
                    if (Menu.GetBool("LaneClearE") && E.IsReady())
                    {
                        var eFarm =
                            MinionManager.GetBestCircularFarmLocation(minions.Select(x => x.Position.To2D()).ToList(),
                                                                      E.Width, E.Range);

                        if (eFarm.MinionsHit >= Menu.GetSlider("LaneClearECount"))
                        {
                            E.Cast(eFarm.Position);
                        }
                    }

                    if (Menu.GetBool("LaneClearQ") && Q.IsReady() && minions.Count > 2)
                    {
                        Q.Cast(minions.FirstOrDefault());
                    }
                }
            }
        }
Exemplo n.º 2
0
        private void JungleClear()
        {
            if (ManaManager.HasEnoughMana(Menu.GetSlider("JungleClearMana")) && ManaManager.SpellFarm)
            {
                if (Menu.GetBool("JungleClearE") && E.IsReady())
                {
                    var mobs = MinionManager.GetMinions(Me.Position, E.Range, MinionTypes.All, MinionTeam.Neutral,
                                                        MinionOrderTypes.MaxHealth);

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

                        if (bigmobs != null)
                        {
                            E.Cast(bigmobs.Position);
                        }
                        else if (mobs.Count >= 2)
                        {
                            E.Cast(mobs.FirstOrDefault());
                        }
                    }
                }
            }
        }
Exemplo n.º 3
0
        private void OnSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs Args)
        {
            if (!sender.IsMe)
            {
                return;
            }

            if (Args.SData.Name.Contains("GravesChargeShot"))
            {
                if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Burst &&
                    TargetSelector.GetSelectedTarget() != null && E.IsReady())
                {
                    var target = TargetSelector.GetSelectedTarget();
                    var pos    = Me.Position.Extend(target.Position, E.Range);
                    E.Cast(pos);
                }
            }

            if (Orbwalking.IsAutoAttack(Args.SData.Name))
            {
                if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
                {
                    var target = Args.Target as AIHeroClient;

                    if (target != null && !target.IsDead && !target.IsZombie)
                    {
                        if (Menu.GetBool("ComboEAA") && E.IsReady())
                        {
                            ELogic(target);
                        }
                    }
                }

                if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear)
                {
                    var target = Args.Target as Obj_AI_Minion;

                    if (target != null && !target.IsDead)
                    {
                        if (ManaManager.HasEnoughMana(Menu.GetSlider("JungleClearMana")) && ManaManager.SpellFarm)
                        {
                            if (Menu.GetBool("JungleClearE") && E.IsReady())
                            {
                                var mobs =
                                    MinionManager.GetMinions(Me.Position, W.Range, MinionTypes.All, MinionTeam.Neutral,
                                                             MinionOrderTypes.MaxHealth).Where(x => !x.Name.ToLower().Contains("mini"));

                                if (mobs.FirstOrDefault() != null)
                                {
                                    if (!Me.Spellbook.IsCastingSpell)
                                    {
                                        ELogic(mobs.FirstOrDefault());
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 4
0
        private void OnSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs Args)
        {
            if (sender.IsMe && Orbwalking.IsAutoAttack(Args.SData.Name))
            {
                if (Args.Target is Obj_LampBulb)
                {
                    return;
                }

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

                    if (target != null)
                    {
                        if (Menu.GetBool("ComboE") && E.IsReady())
                        {
                            Cast_E(target, false);
                        }
                        else if (Menu.GetBool("ComboQ") && Q.IsReady())
                        {
                            Q.Cast(target, true);
                        }
                        else if (Menu.GetBool("ComboW") && W.IsReady())
                        {
                            W.Cast(target.Position, true);
                        }
                    }
                }

                if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear)
                {
                    if (ManaManager.HasEnoughMana(Menu.GetSlider("JungleClearMana")) && ManaManager.SpellFarm)
                    {
                        var mobs = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.Neutral,
                                                            MinionOrderTypes.MaxHealth);

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

                            if (Menu.GetBool("JungleClearE") && E.IsReady())
                            {
                                var ex = Me.Position.Extend(Game.CursorPos, 150);

                                E.Cast(ex, true);
                            }
                            else if (Menu.GetBool("JungleClearQ") && Q.IsReady())
                            {
                                Q.Cast(mob, true);
                            }
                            else if (Menu.GetBool("JungleClearW") && W.IsReady())
                            {
                                W.Cast(mob, true);
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 5
0
        private void JungleClear()
        {
            if (ManaManager.HasEnoughMana(Menu.GetSlider("JungleClearMana")) && ManaManager.SpellFarm)
            {
                var mobs = MinionManager.GetMinions(Me.Position, Q.Range, MinionTypes.All, MinionTeam.Neutral,
                                                    MinionOrderTypes.MaxHealth);

                if (mobs.Any())
                {
                    if (Menu.GetBool("JungleClearQ") && Q.IsReady())
                    {
                        var QFarm =
                            MinionManager.GetBestCircularFarmLocation(mobs.Select(x => x.Position.To2D()).ToList(),
                                                                      Q.Width, Q.Range);

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

                    if (Menu.GetBool("JungleClearE") && E.IsReady())
                    {
                        var mob =
                            mobs.FirstOrDefault(x => !x.Name.ToLower().Contains("mini") && x.Health >= E.GetDamage(x));

                        if (mob != null)
                        {
                            E.CastOnUnit(mob);
                        }
                    }
                }
            }
        }
Exemplo n.º 6
0
        private void JungleClear()
        {
            if (ManaManager.HasEnoughMana(Menu.GetSlider("JungleClearMana")) && ManaManager.SpellFarm)
            {
                var mobs = MinionManager.GetMinions(Me.Position, 700, MinionTypes.All, MinionTeam.Neutral,
                                                    MinionOrderTypes.MaxHealth);

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

                    if (Menu.GetBool("JungleClearW") && W.IsReady())
                    {
                        W.Cast(mob ?? mobs.FirstOrDefault());
                    }

                    if (Menu.GetBool("JungleClearQ") && Q.IsReady())
                    {
                        Q.CastOnUnit(mob ?? mobs.FirstOrDefault());
                    }

                    if (Menu.GetBool("JungleClearE") && E.IsReady() && mob.IsValidTarget(E.Range) &&
                        Utils.TickCount - LastECast > 2500 && !IsAttack)
                    {
                        E.Cast(mob ?? mobs.FirstOrDefault());
                    }
                }
            }
        }
Exemplo n.º 7
0
        internal static void Init()
        {
            if (ManaManager.HasEnoughMana(Menu.GetSlider("HarassMana")))
            {
                if (Menu.GetBool("HarassE") && E.IsReady())
                {
                    var target = TargetSelector.GetTarget(E.Range + EWidth, TargetSelector.DamageType.Magical);

                    if (target.Check(E.Range + EWidth))
                    {
                        SpellManager.CastE(target);
                    }
                }

                if (Menu.GetBool("HarassQ") && Q.IsReady())
                {
                    var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);

                    if (target.Check(Q.Range))
                    {
                        Q.CastOnUnit(target, true);
                    }
                }
            }
        }
Exemplo n.º 8
0
        private void Harass()
        {
            if (ManaManager.HasEnoughMana(Menu.GetSlider("HarassMana")))
            {
                if (Menu.GetBool("HarassW") && W.IsReady())
                {
                    var wTarget = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical);

                    if (wTarget.Check(W.Range))
                    {
                        SpellManager.PredCast(W, wTarget, true);
                    }
                }

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

                    if (eTarget.Check(E.Range))
                    {
                        if (eTarget.DistanceToPlayer() > E.Range * 0.8 && eTarget.IsValidTarget(E.Range) &&
                            GetEStackCount(eTarget) >= Menu.GetSlider("HarassEStack"))
                        {
                            E.Cast();
                        }
                        else if (GetEStackCount(eTarget) >= 6)
                        {
                            E.Cast();
                        }
                    }
                }
            }
        }
Exemplo n.º 9
0
        private static void LaneClearLogic(bool laneClear)
        {
            if (ManaManager.HasEnoughMana(Menu.Item("LaneClearMana").GetValue <Slider>().Value) && ManaManager.SpellFarm)
            {
                var useQi       = Menu.Item("UseQFarm").GetValue <StringList>().SelectedIndex;
                var useQ        = (laneClear && (useQi == 1 || useQi == 2)) || (!laneClear && (useQi == 0 || useQi == 2));
                var allMinionsQ = MinionManager.GetMinions(player.Position, Q.Range, MinionTypes.Ranged);

                if (useQ && Q.IsReady())
                {
                    if (laneClear)
                    {
                        if (allMinionsQ.Count() > 0)
                        {
                            if (allMinionsQ.Count >= Menu.Item("LaneQMinMinions").GetValue <Slider>().Value)
                            {
                                Q.Cast();
                            }
                        }
                    }
                    else
                    {
                        foreach (var minion in allMinionsQ.Where(minion
                                                                 => !Orbwalking.InAutoAttackRange(minion) && minion.Health < 0.75 * Q.GetDamage(minion)))
                        {
                            Q.Cast(minion, true);
                        }
                    }
                }
            }
        }
Exemplo n.º 10
0
        private void JungleClear()
        {
            if (ManaManager.HasEnoughMana(Menu.GetSlider("JungleClearMana")) && ManaManager.SpellFarm)
            {
                var mobs = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.Neutral,
                                                    MinionOrderTypes.MaxHealth);

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

                    if (Menu.GetBool("JungleClearE") && E.IsReady())
                    {
                        E.Cast(mob, true);
                    }

                    if (Menu.GetBool("JungleClearW") && W.IsReady())
                    {
                        W.Cast(mob, true);
                    }

                    if (Menu.GetBool("JungleClearQ") && Q.IsReady())
                    {
                        Q.Cast(mob, true);
                    }
                }
            }
        }
Exemplo n.º 11
0
        private void Harass()
        {
            if (ManaManager.HasEnoughMana(Menu.GetSlider("HarassMana")))
            {
                var target = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical);

                if (target.IsValidTarget(E.Range) && !target.IsDead && !target.IsZombie)
                {
                    if (Menu.GetBool("HarassE") && E.IsReady() && target.IsValidTarget(E.Range))
                    {
                        E.Cast(target);
                    }

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

                    if (Menu.GetBool("HarassQ") && Q.IsReady())
                    {
                        QLogic(target);
                    }
                }
            }
        }
Exemplo n.º 12
0
        private void Harass()
        {
            if (ManaManager.HasEnoughMana(Menu.GetSlider("HarassMana")))
            {
                if (Menu.GetBool("HarassE") && E.IsReady())
                {
                    var target = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical);

                    if (target.Check(E.Range) && target.HasBuff("VayneSilveredDebuff") &&
                        target.GetBuffCount("VayneSilveredDebuff") == 2)
                    {
                        E.CastOnUnit(target);
                    }
                }

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

                    if (target.Check(800f))
                    {
                        QLogic(target);
                    }
                }
            }
        }
Exemplo n.º 13
0
        private void BeforeAttack(Orbwalking.BeforeAttackEventArgs Args)
        {
            switch (Orbwalker.ActiveMode)
            {
            case Orbwalking.OrbwalkingMode.Combo:
                if (Menu.GetBool("ComboQ") && Q.IsReady() && AxeCount < Menu.GetSlider("MaxAxeCount"))
                {
                    var target = Args.Target as AIHeroClient;

                    if (target.Check())
                    {
                        Q.Cast();
                    }
                }
                break;

            case Orbwalking.OrbwalkingMode.Mixed:
                if (ManaManager.HasEnoughMana(Menu.GetSlider("HarassMana")))
                {
                    if (Menu.GetBool("HarassQ") && Q.IsReady() && AxeCount < 2)
                    {
                        var target = Args.Target as AIHeroClient;

                        if (target.Check())
                        {
                            Q.Cast();
                        }
                    }
                }
                break;
            }
        }
Exemplo n.º 14
0
        private static void HarassLogic()
        {
            if (ManaManager.HasEnoughMana(Menu.GetSlider("HarassMana")))
            {
                if (Q.IsReady())
                {
                    QCast(Menu.GetBool("UseQHarass"), true);
                }

                if (W.IsReady())
                {
                    WCast(Menu.GetBool("UseWHarass"));
                }

                if (E.IsReady())
                {
                    ECast(Menu.GetBool("UseEHarass"));
                }

                if (Q.IsReady() && E.IsReady())
                {
                    QECast(Menu.GetBool("UseQEHarass"));
                }
            }
        }
Exemplo n.º 15
0
        private void Harass()
        {
            if (ManaManager.HasEnoughMana(Menu.GetSlider("HarassMana")))
            {
                var target = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Physical);

                if (target.Check(R.Range))
                {
                    if (Menu.GetBool("HarassR") && R.IsReady() && R.Instance.Ammo >= Menu.GetSlider("HarassRLimit") &&
                        target.IsValidTarget(R.Range))
                    {
                        SpellManager.PredCast(R, target, true);
                    }

                    if (Menu.GetBool("HarassQ") && Q.IsReady() && target.IsValidTarget(Q.Range))
                    {
                        SpellManager.PredCast(Q, target, true);
                    }

                    if (Menu.GetBool("HarassE") && E.IsReady() && target.IsValidTarget(E.Range))
                    {
                        E.Cast();
                    }
                }
            }
        }
Exemplo n.º 16
0
        private void Harass()
        {
            if (ManaManager.HasEnoughMana(Menu.GetSlider("HarassMana")))
            {
                if (E.IsReady())
                {
                    if (Menu.GetBool("HarassE"))
                    {
                        foreach (var target in HeroManager.Enemies.Where(x => x.IsValidTarget(E.Range)))
                        {
                            E.CastOnUnit(target, true);
                        }
                    }

                    if (Menu.GetBool("HarassEToMinion"))
                    {
                        foreach (var minion in MinionManager.GetMinions(E.Range).Where(m =>
                                                                                       m.Health < Me.GetAutoAttackDamage(m) && m.CountEnemiesInRange(m.BoundingRadius + 150) >= 1))
                        {
                            var etarget = E.GetTarget();

                            if (etarget != null)
                            {
                                return;
                            }

                            E.CastOnUnit(minion, true);
                            Orbwalker.ForceTarget(minion);
                        }
                    }
                }
            }
        }
Exemplo n.º 17
0
        private void JungleClear()
        {
            if (ManaManager.HasEnoughMana(Menu.GetSlider("JungleClearMana")) && ManaManager.SpellFarm)
            {
                var mobs = MinionManager.GetMinions(Me.Position, qRange, MinionTypes.All, MinionTeam.Neutral,
                                                    MinionOrderTypes.MaxHealth);

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

                    if (mob != null)
                    {
                        if (Menu.GetBool("JungleClearQ") && Q.IsReady() && mob.IsValidTarget(qRange))
                        {
                            CastQ(mob);
                        }

                        if (Menu.GetBool("JungleClearE") && E.IsReady() && mob.IsValidTarget(E.Range))
                        {
                            E.Cast(mob.Position);
                        }
                    }
                }
            }
        }
Exemplo n.º 18
0
        private void LaneClear()
        {
            if (ManaManager.HasEnoughMana(Menu.GetSlider("LaneClearMana")) && ManaManager.SpellFarm)
            {
                if (Menu.GetBool("LaneClearQ") && Q.IsReady())
                {
                    var minions = MinionManager.GetMinions(Me.Position, Q.Range);

                    if (minions.Any())
                    {
                        if (Menu.GetBool("LaneClearQOut"))
                        {
                            var mins =
                                minions.Where(
                                    x =>
                                    x.DistanceToPlayer() > Orbwalking.GetRealAutoAttackRange(Me) &&
                                    x.Health < Q.GetDamage(x) &&
                                    HealthPrediction.GetHealthPrediction(x, 250) > 0);

                            Q.Cast(mins.Any() ? mins.FirstOrDefault() : minions.FirstOrDefault(), true);
                        }
                        else
                        {
                            Q.Cast(minions.FirstOrDefault(), true);
                        }
                    }
                }
            }
        }
Exemplo n.º 19
0
        private void LaneClear()
        {
            if (ManaManager.HasEnoughMana(Menu.GetSlider("LaneClearMana")) && ManaManager.SpellFarm)
            {
                if (Menu.GetBool("LaneClearQ") && Q.IsReady() && AxeCount < 2 && !Me.Spellbook.IsAutoAttacking)
                {
                    var minions = MinionManager.GetMinions(Me.Position, 600);

                    if (minions.Any() && minions.Count >= 2)
                    {
                        Q.Cast();
                    }
                }

                if (Menu.GetBool("LaneClearE") && E.IsReady())
                {
                    var minions = MinionManager.GetMinions(Me.Position, E.Range);

                    if (minions.Any())
                    {
                        var eFarm = E.GetLineFarmLocation(minions, E.Width);

                        if (eFarm.MinionsHit >= Menu.GetSlider("LaneClearECount"))
                        {
                            E.Cast(eFarm.Position);
                        }
                    }
                }
            }
        }
Exemplo n.º 20
0
        private static void LaneClear(GameObjectProcessSpellCastEventArgs Args)
        {
            if (Args.SData == null || !Orbwalking.IsAutoAttack(Args.SData.Name) || Args.Target == null ||
                Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.LaneClear || !Args.Target.IsEnemy ||
                !ManaManager.HasEnoughMana(Menu.GetSlider("LaneClearMana")) || !ManaManager.SpellFarm)
            {
                return;
            }

            if (Menu.GetBool("LaneClearW") && W.IsReady())
            {
                if (Args.Target.Type == GameObjectType.obj_AI_Turret || Args.Target.Type == GameObjectType.obj_Turret ||
                    Args.Target.Type == GameObjectType.obj_LampBulb)
                {
                    if (!Args.Target.IsDead)
                    {
                        W.Cast();
                    }
                }
                else
                {
                    var minion = (Obj_AI_Minion)Args.Target;

                    if (minion != null && minion.Health <= DamageCalculate.GetWDamage(minion))
                    {
                        W.Cast();
                        Orbwalker.ForceTarget(minion);
                    }
                }
            }
        }
Exemplo n.º 21
0
        private void OnDoCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs Args)
        {
            if (!sender.IsMe || !Orbwalking.IsAutoAttack(Args.SData.Name))
            {
                return;
            }

            switch (Orbwalker.ActiveMode)
            {
            case Orbwalking.OrbwalkingMode.Combo:
                if (Menu.GetBool("ComboQ"))
                {
                    var target = (Obj_AI_Hero)Args.Target;

                    if (target != null && !target.IsDead && !target.IsZombie)
                    {
                        if (Me.HasBuff("asheqcastready"))
                        {
                            Q.Cast();
                            Orbwalking.ResetAutoAttackTimer();
                        }
                    }
                }
                break;

            case Orbwalking.OrbwalkingMode.LaneClear:
                if (ManaManager.HasEnoughMana(Menu.GetSlider("JungleClearMana")) && ManaManager.SpellFarm)
                {
                    if (Menu.GetBool("JungleClearQ") && Args.Target is Obj_AI_Minion)
                    {
                        var mobs = MinionManager.GetMinions(Me.Position, Orbwalking.GetRealAutoAttackRange(Me),
                                                            MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth);

                        if (mobs.Any())
                        {
                            foreach (var mob in mobs)
                            {
                                if (!mob.IsValidTarget(Orbwalking.GetRealAutoAttackRange(Me)) ||
                                    !(mob.Health > Me.GetAutoAttackDamage(mob) * 2))
                                {
                                    continue;
                                }

                                if (Me.HasBuff("asheqcastready"))
                                {
                                    Q.Cast();
                                    Orbwalking.ResetAutoAttackTimer();
                                }
                            }
                        }
                    }
                }
                break;
            }
        }
Exemplo n.º 22
0
        private void JungleClear()
        {
            if (ManaManager.HasEnoughMana(Menu.GetSlider("JungleClearMana")) && ManaManager.SpellFarm)
            {
                var mobs = MinionManager.GetMinions(E.Range, MinionTypes.All, MinionTeam.Neutral,
                                                    MinionOrderTypes.MaxHealth);

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

                    if (Menu.GetBool("JungleClearE") && E.IsReady())
                    {
                        E.Cast(mob, true);
                    }

                    if (Menu.GetBool("JungleClearW") && W.IsReady() && !Me.HasBuff("dravenfurybuff") &&
                        AxeCount > 0)
                    {
                        foreach (
                            var m in
                            mobs.Where(
                                x =>
                                x.DistanceToPlayer() <= 600 && !x.Name.ToLower().Contains("mini") &&
                                !x.Name.ToLower().Contains("crab") && x.MaxHealth > 1500 &&
                                x.Health > Me.GetAutoAttackDamage(x) * 2))
                        {
                            W.Cast();
                        }
                    }

                    if (Menu.GetBool("JungleClearQ") && Q.IsReady() && AxeCount < 2 &&
                        !Me.Spellbook.IsAutoAttacking)
                    {
                        var qmobs = MinionManager.GetMinions(600f, MinionTypes.All, MinionTeam.Neutral,
                                                             MinionOrderTypes.MaxHealth);

                        if (qmobs.Any())
                        {
                            if (qmobs.Count >= 2)
                            {
                                Q.Cast();
                            }

                            var qmob = qmobs.FirstOrDefault();
                            if (qmob != null && qmobs.Count == 1 && qmob.Health > Me.GetAutoAttackDamage(qmob) * 5)
                            {
                                Q.Cast();
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 23
0
        internal static void Init()
        {
            if (ManaManager.HasEnoughMana(Menu.GetSlider("LaneClearMana")) && ManaManager.SpellFarm)
            {
                if (Menu.GetBool("LaneClearQ") && Q.IsReady())
                {
                    var qMinion =
                        MinionManager.GetMinions(Me.Position, Q.Range)
                        .FirstOrDefault(
                            x => x.Health <DamageCalculate.GetQDamage(x) && x.Health> Me.GetAutoAttackDamage(x));

                    if (qMinion != null && qMinion.IsValidTarget(Q.Range))
                    {
                        Q.CastOnUnit(qMinion, true);
                    }
                }

                if (Menu.GetBool("LaneClearE") && E.IsReady())
                {
                    var eMinions = MinionManager.GetMinions(Me.Position, E.Range + EWidth);

                    if (eMinions.Any())
                    {
                        var eMinion = eMinions.FirstOrDefault(x => x.IsValidTarget(E.Range));
                        var target  = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical);

                        if (target != null && target.IsValidTarget(E.Range))
                        {
                            var exEMinions = MinionManager.GetMinions(target.Position, E.Range);
                            var eFarm      =
                                SpellManager.GetBestLineFarmLocation(
                                    exEMinions.Select(x => x.Position.To2D()).ToList(), target.Position, E.Width, EWidth);

                            if (eFarm.MinionsHit + 1 >= Menu.GetSlider("LaneClearECount"))
                            {
                                SpellManager.FixECast(target.Position, eFarm.Position.To3D());
                            }
                        }
                        else if (eMinion != null)
                        {
                            var exEMinions = MinionManager.GetMinions(eMinion.Position, E.Range);
                            var eFarm      =
                                SpellManager.GetBestLineFarmLocation(
                                    exEMinions.Select(x => x.Position.To2D()).ToList(), eMinion.Position, E.Width, EWidth);

                            if (eFarm.MinionsHit >= Menu.GetSlider("LaneClearECount"))
                            {
                                SpellManager.FixECast(eMinion.Position, eFarm.Position.To3D());
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 24
0
        private void Harass()
        {
            if (ManaManager.HasEnoughMana(Menu.GetSlider("HarassMana")))
            {
                if (Menu.GetBool("HarassQ") && Q.IsReady())
                {
                    var target = TargetSelector.GetTarget(Q.Range + 300, TargetSelector.DamageType.Physical);

                    if (target.Check(Q.Range + 300))
                    {
                        if (Me.HasBuff("JhinPassiveReload") || (!Me.HasBuff("JhinPassiveReload") &&
                                                                Me.CountEnemiesInRange(Orbwalking.GetRealAutoAttackRange(Me)) == 0))
                        {
                            var qPred       = Prediction.GetPrediction(target, 0.25f);
                            var bestQMinion =
                                MinionManager.GetMinions(qPred.CastPosition, 300)
                                .Where(x => x.IsValidTarget(Q.Range))
                                .OrderBy(x => x.Distance(target))
                                .ThenBy(x => x.Health)
                                .FirstOrDefault();

                            if (bestQMinion != null)
                            {
                                Q.CastOnUnit(bestQMinion, true);
                            }
                        }
                    }
                }

                var eTarget = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical);

                if (Menu.GetBool("HarassE") && E.IsReady() && eTarget.Check(E.Range) &&
                    Utils.TickCount - LastECast > 2500 && !IsAttack)
                {
                    SpellManager.PredCast(E, eTarget, true);
                }

                if (Menu.GetBool("HarassW") && W.IsReady())
                {
                    var target = TargetSelector.GetTarget(1500f, TargetSelector.DamageType.Physical);

                    if (target.Check(W.Range))
                    {
                        if (Menu.GetBool("HarassWOnly") && !HasPassive(target))
                        {
                            return;
                        }

                        SpellManager.PredCast(W, target, true);
                    }
                }
            }
        }
Exemplo n.º 25
0
        private void Harass()
        {
            if (ManaManager.HasEnoughMana(Menu.GetSlider("HarassMana")))
            {
                var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);

                if (Menu.GetBool("HarassQ") && Q.IsReady() && target.Check(Q.Range))
                {
                    SpellManager.PredCast(Q, target);
                }
            }
        }
Exemplo n.º 26
0
        private void OnSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs Args)
        {
            if (sender.IsMe && Orbwalking.IsAutoAttack(Args.SData.Name))
            {
                if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
                {
                    var target = Args.Target as AIHeroClient;

                    if (target != null)
                    {
                        if (Menu.GetBool("ComboR") && R.IsReady() && R.Instance.Ammo >= Menu.GetSlider("ComboRLimit"))
                        {
                            SpellManager.PredCast(R, target, true);
                        }
                        else if (Menu.GetBool("ComboQ") && Q.IsReady())
                        {
                            SpellManager.PredCast(Q, target, true);
                        }
                        else if (Menu.GetBool("ComboE") && E.IsReady())
                        {
                            E.Cast();
                        }
                    }
                }

                if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear)
                {
                    if (ManaManager.HasEnoughMana(Menu.GetSlider("JungleClearMana")) && ManaManager.SpellFarm)
                    {
                        var mobs = MinionManager.GetMinions(R.Range, MinionTypes.All, MinionTeam.Neutral,
                                                            MinionOrderTypes.MaxHealth);

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

                            if (Menu.GetBool("JungleClearR") && R.IsReady() && R.Instance.Ammo >= Menu.GetSlider("JungleClearRLimit"))
                            {
                                R.Cast(mob, true);
                            }
                            else if (Menu.GetBool("JungleClearQ") && Q.IsReady())
                            {
                                Q.Cast(mob, true);
                            }
                            else if (Menu.GetBool("JungleClearE") && E.IsReady())
                            {
                                E.Cast();
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 27
0
        internal static void Init(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs Args)
        {
            if (!sender.IsMe)
            {
                return;
            }

            if (Args.SData.Name.Contains("DianaTeleport"))
            {
                lastRCast = Utils.TickCount;
            }

            if (!Args.SData.Name.Contains("DianaTeleport") || !W.IsReady())
            {
                return;
            }

            switch (Orbwalker.ActiveMode)
            {
            case Orbwalking.OrbwalkingMode.Combo:
            {
                var target = (AIHeroClient)Args.Target;

                if (target != null && !target.IsDead && !target.IsZombie)
                {
                    if (Menu.GetBool("ComboW") && target.IsValidTarget(W.Range))
                    {
                        W.Cast(true);
                    }
                }
            }
            break;

            case Orbwalking.OrbwalkingMode.LaneClear:
            {
                if (ManaManager.HasEnoughMana(Menu.GetSlider("JungleClearmana")))
                {
                    var mob  = (Obj_AI_Base)Args.Target;
                    var mobs = MinionManager.GetMinions(Me.Position, R.Range, MinionTypes.All,
                                                        MinionTeam.Neutral, MinionOrderTypes.MaxHealth);

                    if (mob != null && mobs.Contains(mob))
                    {
                        if (Menu.GetBool("JungleClearW") && mob.IsValidTarget(W.Range))
                        {
                            W.Cast(true);
                        }
                    }
                }
            }
            break;
            }
        }
Exemplo n.º 28
0
        private void OnSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs Args)
        {
            if (sender.IsMe && Orbwalking.IsAutoAttack(Args.SData.Name))
            {
                var t = (Obj_AI_Base)Args.Target;

                if (t != null && !t.IsDead && !t.IsZombie)
                {
                    if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
                    {
                        if (t is AIHeroClient)
                        {
                            var target = (AIHeroClient)Args.Target;

                            if (Menu.GetBool("ComboQ") && Q.IsReady() && t.IsValidTarget(Q.Range))
                            {
                                SpellManager.PredCast(Q, target);
                            }

                            if (Menu.GetBool("ComboW") && W.IsReady() && t.IsValidTarget(W.Range))
                            {
                                SpellManager.PredCast(W, target, true);
                            }
                        }
                    }

                    if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed)
                    {
                        if (ManaManager.HasEnoughMana(Menu.GetSlider("HarassMana")))
                        {
                            if (t is AIHeroClient)
                            {
                                var target = (AIHeroClient)Args.Target;

                                if (Menu.GetBool("Harasstarget" + target.ChampionName.ToLower()))
                                {
                                    if (Menu.GetBool("HarassQ") && Q.IsReady() && t.IsValidTarget(Q.Range))
                                    {
                                        SpellManager.PredCast(Q, target);
                                    }

                                    if (Menu.GetBool("HarassW") && W.IsReady() && t.IsValidTarget(W.Range))
                                    {
                                        SpellManager.PredCast(W, target, true);
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 29
0
        private void AfterAttack(AttackableUnit sender, AttackableUnit t)
        {
            if (!sender.IsMe)
            {
                return;
            }

            if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
            {
                if (Menu.GetBool("AQALogic"))
                {
                    var target = t as Obj_AI_Hero;

                    if (target != null && !target.IsDead && !target.IsZombie && Q.IsReady())
                    {
                        QLogic(target);
                    }
                }
            }

            if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear)
            {
                if (t is Obj_AI_Turret)
                {
                    if (ManaManager.HasEnoughMana(Menu.GetSlider("LaneClearMana")) && ManaManager.SpellFarm)
                    {
                        if (Menu.GetBool("LaneClearQ") && Menu.GetBool("LaneClearQTurret") &&
                            Me.CountEnemiesInRange(900) == 0 && Q.IsReady())
                        {
                            Q.Cast(Game.CursorPos);
                        }
                    }
                }
                else if (t is Obj_AI_Minion)
                {
                    if (ManaManager.HasEnoughMana(Menu.GetSlider("JungleClearMana")) && ManaManager.SpellFarm)
                    {
                        if (Menu.GetBool("JungleClearQ") && Q.IsReady())
                        {
                            var mobs =
                                MinionManager.GetMinions(Me.Position, 800, MinionTypes.All, MinionTeam.Neutral,
                                                         MinionOrderTypes.MaxHealth);

                            if (mobs.Any())
                            {
                                Q.Cast(Game.CursorPos, true);
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 30
0
        private void LaneClear()
        {
            if (ManaManager.HasEnoughMana(Menu.GetSlider("LaneClearMana")) && ManaManager.SpellFarm)
            {
                if (Menu.GetBool("LaneClearQ") && Q.IsReady())
                {
                    var minions = MinionManager.GetMinions(Me.Position, Q.Range);

                    if (minions.Any())
                    {
                        var QFram =
                            MinionManager.GetBestCircularFarmLocation(minions.Select(x => x.Position.To2D()).ToList(),
                                                                      Q.Width, Q.Range);

                        if (QFram.MinionsHit >= Menu.GetSlider("LaneClearQCount"))
                        {
                            Q.Cast(QFram.Position, true);
                        }
                    }
                }

                if (Menu.GetBool("LaneClearE") && E.IsReady())
                {
                    var eMinions = MinionManager.GetMinions(Me.Position, E.Range);

                    if (eMinions.Any())
                    {
                        if (eMinions.Count >= Menu.GetSlider("LaneClearECount"))
                        {
                            E.Cast();
                        }
                    }
                }

                if (Menu.GetBool("LaneClearR") && R.IsReady() && R.Instance.Ammo >= Menu.GetSlider("LaneClearRLimit"))
                {
                    var rMinions = MinionManager.GetMinions(Me.Position, R.Range);

                    if (rMinions.Any())
                    {
                        var RFarm =
                            MinionManager.GetBestLineFarmLocation(rMinions.Select(x => x.Position.To2D()).ToList(),
                                                                  R.Width, R.Range);

                        if (RFarm.MinionsHit >= Menu.GetSlider("LaneClearRCount"))
                        {
                            R.Cast(RFarm.Position, true);
                        }
                    }
                }
            }
        }