Пример #1
0
        private static void JungleClear()
        {
            if (JungleClearOption.HasEnouguMana())
            {
                if (JungleClearOption.UseE && E.Ready)
                {
                    var mobs = GameObjects.EnemyMinions.Where(x => x.IsValidTarget(E.Range) && x.IsMob()).ToArray();

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

                        if (bigmob != null && bigmob.IsValidTarget(E.Range) && (!bigmob.IsValidAutoRange() || !Orbwalker.CanAttack()))
                        {
                            E.Cast(bigmob);
                        }
                        else
                        {
                            var eMobs = mobs.Where(x => x.IsValidTarget(E.Range)).ToArray();
                            var eFarm = E.GetSpellFarmPosition(eMobs);

                            if (eFarm.HitCount >= 2)
                            {
                                E.Cast(eFarm.CastPosition);
                            }
                        }
                    }
                }
            }
        }
Пример #2
0
        private static void JungleClear()
        {
            if (JungleClearOption.HasEnouguMana())
            {
                var mobs = GameObjects.EnemyMinions.Where(x => x.IsValidTarget(Q.Range) && x.GetJungleType() != JungleType.Unknown).ToList();

                if (mobs.Any())
                {
                    if (JungleClearOption.UseQ && Q.IsReady())
                    {
                        var QFarm = Q.GetCircularFarmLocation(mobs);

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

                    if (JungleClearOption.UseE && E.IsReady())
                    {
                        var mob =
                            mobs.FirstOrDefault(
                                x => !x.Name.ToLower().Contains("mini") && x.Health >= Me.GetSpellDamage(x, SpellSlot.E));

                        if (mob != null && mob.IsValidTarget(E.Range))
                        {
                            E.CastOnUnit(mob);
                        }
                    }
                }
            }
        }
Пример #3
0
        private static void JungleClear()
        {
            if (JungleClearOption.HasEnouguMana())
            {
                var mobs =
                    GameObjects.Jungle.Where(x => x.IsValidTarget(R.Range) && x.GetJungleType() != JungleType.Unknown && !x.InAutoAttackRange())
                    .OrderByDescending(x => x.MaxHealth)
                    .ToList();

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

                    if (JungleClearOption.UseR && R.IsReady() &&
                        R.Ammo >= JungleClearOption.GetSlider("JungleClearRLimit").Value&&
                        mob.IsValidTarget(R.Range) && !mob.InAutoAttackRange())
                    {
                        R.CastIfHitchanceEquals(mob, HitChance.Medium);
                    }

                    if (JungleClearOption.UseQ && Q.IsReady() &&
                        mob.IsValidTarget(Q.Range) && !mob.InAutoAttackRange())
                    {
                        Q.CastIfHitchanceEquals(mob, HitChance.Medium);
                    }
                }
            }
        }
Пример #4
0
        private static void JungleClearEvent()
        {
            if (JungleClearOption.HasEnouguMana())
            {
                if (JungleClearOption.UseE && E.IsReady() && Variables.GameTimeTickCount - lastETime > 500 + Game.Ping)
                {
                    var KSCount =
                        GameObjects.Jungle.Where(
                            x => x.IsValidTarget(E.Range) && x.GetJungleType() != JungleType.Unknown)
                        .Where(x => x.Buffs.Any(a => a.Name.ToLower().Contains("kalistaexpungemarker")))
                        .Count(x => x.Health < E.GetKalistaRealDamage(x) * 0.5f);

                    if (KSCount > 0)
                    {
                        E.Cast();
                    }
                }

                if (JungleClearOption.UseQ && Q.IsReady())
                {
                    var qMob =
                        GameObjects.Jungle.Where(x => x.IsValidTarget(Q.Range) && x.GetJungleType() != JungleType.Unknown)
                        .OrderByDescending(x => x.MaxHealth)
                        .FirstOrDefault();

                    if (qMob != null && qMob.IsValidTarget(Q.Range))
                    {
                        Q.Cast(qMob);
                    }
                }
            }
        }
Пример #5
0
        private static void JungleClear()
        {
            if (JungleClearOption.HasEnouguMana())
            {
                var mobs =
                    GameObjects.EnemyMinions.Where(x => x.IsValidTarget(R.Range) && x.IsMob() && !x.IsValidAutoRange())
                    .ToArray();

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

                    if (JungleClearOption.UseR && R.Ready &&
                        R.GetBasicSpell().Ammo >= JungleClearOption.GetSlider("JungleClearRLimit").Value&&
                        mob.IsValidTarget(R.Range) && !mob.IsValidAutoRange())
                    {
                        R.Cast(mob);
                    }

                    if (JungleClearOption.UseQ && Q.Ready &&
                        mob.IsValidTarget(Q.Range) && !mob.IsValidAutoRange())
                    {
                        Q.Cast(mob);
                    }
                }
            }
        }
Пример #6
0
        private static void PostAttack(object sender, PostAttackEventArgs Args)
        {
            if (E.Ready)
            {
                if (Orbwalker.Mode == OrbwalkingMode.Combo && ComboOption.UseE && ComboOption.GetBool("ComboEReset").Enabled)
                {
                    var target = Args.Target as Obj_AI_Hero;

                    if (target != null && !target.IsDead && target.IsValidTarget())
                    {
                        ELogic(target);
                    }
                }
                else if (Orbwalker.Mode == OrbwalkingMode.Laneclear && JungleClearOption.HasEnouguMana() && Args.Target.Type == GameObjectType.obj_AI_Minion &&
                         Args.Target.IsMob())
                {
                    if (JungleClearOption.UseE)
                    {
                        var mobs =
                            GameObjects.EnemyMinions.Where(x => x.IsValidSpellTarget(800) && x.IsMob())
                            .Where(x => !x.Name.ToLower().Contains("mini"))
                            .ToArray();

                        if (mobs.Any() && mobs.FirstOrDefault() != null)
                        {
                            ELogic(mobs.FirstOrDefault());
                        }
                    }
                }
            }
        }
Пример #7
0
        private static void JungleClear()
        {
            if (JungleClearOption.HasEnouguMana())
            {
                if (JungleClearOption.UseQ && Q.IsReady())
                {
                    var mobs = GameObjects.Jungle.Where(x => x.IsValidTarget(Q.Range) && x.GetJungleType() != JungleType.Unknown).ToList();

                    if (mobs.Any())
                    {
                        var qFarm = Q.GetLineFarmLocation(mobs, 60);

                        if (qFarm.MinionsHit >= 2 || mobs.Any(x => x.GetJungleType() != JungleType.Small) && qFarm.MinionsHit >= 1)
                        {
                            Q.Cast(qFarm.Position);
                        }
                    }
                }

                if (JungleClearOption.UseW && W.IsReady())
                {
                    var Mob = GameObjects.Jungle.Where(x => x.IsValidTarget(Me.AttackRange + Me.BoundingRadius + 80) && x.GetJungleType() != JungleType.Unknown).ToList();

                    if (Mob.Count > 0)
                    {
                        if (Me.Mana >= W.Mana * 2 + Q.Mana * 2)
                        {
                            HumanizerCardSelect.StartSelecting(Mob.Count >= 2
                                ? HumanizerCards.Red
                                : HumanizerCards.Blue);
                        }
                    }
                }
            }
        }
Пример #8
0
        private static void JungleClear()
        {
            if (JungleClearOption.HasEnouguMana())
            {
                if (JungleClearOption.UseQ && Q.Ready)
                {
                    var mobs = GameObjects.EnemyMinions.Where(x => x.IsValidTarget(Q.Range) && x.IsMob()).ToArray();

                    if (mobs.Any())
                    {
                        var qFarm = Q.GetSpellFarmPosition(mobs);

                        if (qFarm.HitCount >= 2 || mobs.Any(x => MobsName.Contains(x.UnitSkinName.ToLower())) && qFarm.HitCount >= 1)
                        {
                            Q.Cast(qFarm.CastPosition);
                        }
                    }
                }

                if (JungleClearOption.UseW && W.Ready)
                {
                    var Mob = GameObjects.EnemyMinions.Where(x => x.IsValidTarget(Me.AttackRange + Me.BoundingRadius + 80) && x.IsMob()).ToArray();

                    if (Mob.Length > 0)
                    {
                        if (Me.Mana >= W.GetBasicSpell().Cost * 2 + Q.GetBasicSpell().Cost * 2)
                        {
                            HumanizerCardSelect.StartSelecting(Mob.Length >= 2
                                ? HumanizerCards.Red
                                : HumanizerCards.Blue);
                        }
                    }
                }
            }
        }
Пример #9
0
        private static void JungleClear()
        {
            if (JungleClearOption.HasEnouguMana())
            {
                if (JungleClearOption.UseE && E.IsReady())
                {
                    var mobs = GameObjects.Jungle.Where(x => x.IsValidTarget(E.Range) && x.GetJungleType() != JungleType.Unknown).ToList();

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

                        if (bigmob != null && bigmob.IsValidTarget(E.Range) && (!bigmob.InAutoAttackRange() || !Orbwalker.CanAttack()))
                        {
                            E.Cast(bigmob);
                        }
                        else
                        {
                            var eMobs = mobs.Where(x => x.IsValidTarget(E.Range)).ToList();
                            var eFarm = E.GetCircularFarmLocation(eMobs);

                            if (eFarm.MinionsHit >= 2)
                            {
                                E.Cast(eFarm.Position);
                            }
                        }
                    }
                }
            }
        }
Пример #10
0
        private static void JungleClearEvent()
        {
            if (JungleClearOption.HasEnouguMana())
            {
                if (JungleClearOption.UseE && E.Ready && Game.TickCount - lastETime > 500 + Game.Ping)
                {
                    var KSCount =
                        GameObjects.EnemyMinions.Where(
                            x => x.IsValidTarget(E.Range) && x.IsMob())
                        .Where(x => x.Buffs.Any(a => a.Name.ToLower().Contains("kalistaexpungemarker")))
                        .Count(x => x.Health < E.GetKalistaRealDamage(x));

                    if (KSCount > 0)
                    {
                        E.Cast();
                    }
                }

                if (JungleClearOption.UseQ && Q.Ready)
                {
                    var qMob =
                        GameObjects.EnemyMinions.Where(x => x.IsValidTarget(Q.Range) && x.IsMob())
                        .OrderBy(x => x.MaxHealth)
                        .FirstOrDefault();

                    if (qMob != null && qMob.IsValidTarget(Q.Range))
                    {
                        Q.Cast(qMob);
                    }
                }
            }
        }
Пример #11
0
        private static void JungleClear()
        {
            if (JungleClearOption.HasEnouguMana())
            {
                if (JungleClearOption.UseW && W.IsReady())
                {
                    var mobs = GameObjects.Jungle.Where(x => x.IsValidTarget(Q.Range) && x.GetJungleType() == JungleType.Legendary)
                               .OrderByDescending(x => x.MaxHealth)
                               .ToList();
                    foreach (var mob in mobs)
                    {
                        W.CastIfHitchanceEquals(mob, HitChance.Medium);
                    }
                }

                if (JungleClearOption.UseQ && Q.IsReady())
                {
                    var mobs = GameObjects.Jungle.Where(x => x.IsValidTarget(Q.Range) && x.GetJungleType() != JungleType.Unknown)
                               .OrderByDescending(x => x.MaxHealth)
                               .ToList();
                    foreach (var mob in mobs)
                    {
                        Q.CastIfHitchanceEquals(mob, HitChance.Medium);
                    }
                }
            }
        }
Пример #12
0
        private static void JungleClear()
        {
            if (JungleClearOption.HasEnouguMana())
            {
                var mobs = GameObjects.EnemyMinions.Where(x => x.IsValidTarget(Q.Range) && x.IsMob()).ToArray();

                if (mobs.Any())
                {
                    if (JungleClearOption.UseQ && Q.Ready)
                    {
                        var QFarm = Q.GetSpellFarmPosition(mobs);

                        if (QFarm.HitCount >= 1)
                        {
                            Q.Cast(QFarm.CastPosition);
                        }
                    }

                    if (JungleClearOption.UseE && E.Ready)
                    {
                        var mob =
                            mobs.FirstOrDefault(
                                x => !x.Name.ToLower().Contains("mini") && x.Health >= Me.GetSpellDamage(x, SpellSlot.E));

                        if (mob != null && mob.IsValidTarget(E.Range))
                        {
                            E.CastOnUnit(mob);
                        }
                    }
                }
            }
        }
Пример #13
0
        private static void OnAction(object sender, OrbwalkerActionArgs Args)
        {
            if (Args.Type != OrbwalkerType.AfterAttack)
            {
                return;
            }

            if (Args.Target == null || Args.Target.IsDead || !Args.Target.IsValidTarget() || Args.Target.Health <= 0)
            {
                return;
            }

            switch (Args.Target.Type)
            {
            case GameObjectType.AIHeroClient:
            {
                var target = (AIHeroClient)Args.Target;
                if (target != null && target.IsValidTarget())
                {
                    if (Orbwalker.ActiveMode == OrbwalkerMode.Combo)
                    {
                        if (ComboOption.UseQ && Q.IsReady())
                        {
                            Q.CastOnUnit(target);
                        }
                        else if (ComboOption.UseW && W.IsReady())
                        {
                            W.Cast();
                        }
                    }
                }
            }
            break;

            case GameObjectType.AIMinionClient:
            {
                var mob = (AIMinionClient)Args.Target;
                if (mob != null && mob.IsValidTarget() && mob.GetJungleType() != JungleType.Unknown)
                {
                    if (Orbwalker.ActiveMode == OrbwalkerMode.LaneClear)
                    {
                        if (JungleClearOption.HasEnouguMana())
                        {
                            if (JungleClearOption.UseQ && Q.IsReady())
                            {
                                Q.CastOnUnit(mob);
                            }
                            else if (JungleClearOption.UseW && W.IsReady())
                            {
                                W.Cast();
                            }
                        }
                    }
                }
            }
            break;
            }
        }
Пример #14
0
        private static void OnIssueOrder(Obj_AI_Base sender, Obj_AI_BaseIssueOrderEventArgs /*Obj_AI_BaseMissileClientDataEventArgs*/ Args)
        {
            if (!sender.IsMe)
            {
                return;
            }

            if (Args.OrderType != OrderType.AttackUnit || !E.Ready)
            {
                return;
            }

            if (Orbwalker.Mode != OrbwalkingMode.Combo && Orbwalker.Mode != OrbwalkingMode.Laneclear)
            {
                return;
            }

            var target = (AttackableUnit)Args.Target;

            if (target == null || !target.IsValidTarget())
            {
                return;
            }

            if (!Orbwalker.CanAttack() || !target.IsValidTarget(Me.AttackRange + Me.BoundingRadius + target.BoundingRadius - 20))
            {
                Args.ProcessEvent = false;
                return;
            }

            if (Orbwalker.Mode == OrbwalkingMode.Combo && ComboOption.UseE &&
                ComboOption.GetBool("ComboEReset").Enabled&& target.Type == GameObjectType.obj_AI_Hero)
            {
                if (ELogic((Obj_AI_Hero)target))
                {
                    DelayAction.Queue(1, () =>
                    {
                        //E.Cast(Me.ServerPosition.Extend(Args.Target.ServerPosition, E.Range - Args.Target.BoundingRadius));
                        Orbwalker.ResetAutoAttackTimer();
                        //Me.IssueOrder(OrderType.AttackUnit, target);
                    });
                }
            }
            else if (Orbwalker.Mode == OrbwalkingMode.Laneclear && JungleClearOption.HasEnouguMana() &&
                     JungleClearOption.UseE && target.IsMob())
            {
                if (ELogic((Obj_AI_Minion)target))
                {
                    DelayAction.Queue(1, () =>
                    {
                        // E.Cast(Me.ServerPosition.Extend(Args.Target.ServerPosition, E.Range - Args.Target.BoundingRadius));
                        Orbwalker.ResetAutoAttackTimer();
                        //Me.IssueOrder(OrderType.AttackUnit, target);
                    });
                }
            }
        }
Пример #15
0
        //private static void OnGapcloser(AIHeroClient target, GapcloserArgs Args)
        //{
        //    if (W.IsReady() && target != null && target.IsValidTarget(W.Range))
        //    {
        //        switch (Args.Type)
        //        {
        //            case SpellType.Melee:
        //                if (target.IsValidTarget(target.AttackRange + target.BoundingRadius + 100))
        //                {
        //                    var wPred = W.GetPrediction(target);
        //                    W.Cast(wPred.UnitPosition);
        //                }
        //                break;
        //            case SpellType.Dash:
        //            case SpellType.SkillShot:
        //            case SpellType.Targeted:
        //                {
        //                    var wPred = W.GetPrediction(target);
        //                    W.Cast(wPred.UnitPosition);
        //                }
        //                break;
        //        }
        //    }
        //}

        private static void OnBasicAttack(AIBaseClient sender, AIBaseClientProcessSpellCastEventArgs Args)
        {
            if (!sender.IsMe)
            {
                return;
            }

            if (!E.IsReady())
            {
                return;
            }

            if (Orbwalker.ActiveMode != OrbwalkerMode.Combo && Orbwalker.ActiveMode != OrbwalkerMode.LaneClear)
            {
                return;
            }

            var target = (AttackableUnit)Args.Target;

            if (target == null || !target.IsValidTarget())
            {
                return;
            }

            if (!Orbwalker.CanAttack() || Me.IsWindingUp || !target.IsValidTarget(Me.AttackRange + Me.BoundingRadius + target.BoundingRadius - 20))
            {
                return;
            }

            if (Orbwalker.ActiveMode == OrbwalkerMode.Combo && ComboOption.UseE &&
                ComboOption.GetBool("ComboEReset").Enabled&& target.Type == GameObjectType.AIHeroClient)
            {
                DelayAction.Add(0, () =>
                {
                    if (ELogic((AIHeroClient)target))
                    {
                        Orbwalker.ResetAutoAttackTimer();
                    }
                });
            }
            else if (Orbwalker.ActiveMode == OrbwalkerMode.LaneClear && JungleClearOption.HasEnouguMana() &&
                     JungleClearOption.UseE && target is AIMinionClient)
            {
                var mob = (AIMinionClient)target;
                if (mob != null && mob.GetJungleType() != JungleType.Unknown && mob.GetJungleType() != JungleType.Small)
                {
                    DelayAction.Add(0, () =>
                    {
                        if (ELogic(mob))
                        {
                            Orbwalker.ResetAutoAttackTimer();
                        }
                    });
                }
            }
        }
Пример #16
0
        private static void OnAction(object sender, OrbwalkerActionArgs Args)
        {
            if (Args.Type != OrbwalkerType.AfterAttack)
            {
                return;
            }

            if (Args.Target == null || Args.Target.IsDead || !Args.Target.IsValidTarget() || Args.Target.Health <= 0 || !E.IsReady())
            {
                return;
            }

            switch (Args.Target.Type)
            {
            case GameObjectType.AIHeroClient:
            {
                if (Orbwalker.ActiveMode == OrbwalkerMode.Combo)
                {
                    if (ComboOption.UseE && ComboOption.GetBool("ComboEReset").Enabled)
                    {
                        var target = (AIHeroClient)Args.Target;
                        if (target != null && !target.IsDead && target.IsValidTarget())
                        {
                            ELogic(target);
                        }
                    }
                }
            }
            break;

            case GameObjectType.AIMinionClient:
            {
                if (Orbwalker.ActiveMode == OrbwalkerMode.LaneClear)
                {
                    var mob = (AIMinionClient)Args.Target;
                    if (mob != null && mob.IsValidTarget() && mob.GetJungleType() != JungleType.Unknown)
                    {
                        if (JungleClearOption.HasEnouguMana() && JungleClearOption.UseE)
                        {
                            var mobs =
                                GameObjects.Jungle.Where(x => x.IsValidTarget(800) && x.GetJungleType() != JungleType.Unknown)
                                .Where(x => x.GetJungleType() != JungleType.Unknown)
                                .ToList();

                            if (mobs.Any() && mobs.FirstOrDefault() != null)
                            {
                                ELogic(mobs.FirstOrDefault());
                            }
                        }
                    }
                }
            }
            break;
            }
        }
Пример #17
0
        private static void JungleClear()
        {
            if (JungleClearOption.HasEnouguMana())
            {
                var mobs = GameObjects.EnemyMinions.Where(x => x.IsValidTarget(R.Range) && x.IsMob()).ToArray();

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

                    if (JungleClearOption.UseQ && Q.Ready)
                    {
                        if (bigmob != null && bigmob.IsValidTarget(Q.Range) && (!bigmob.IsValidAutoRange() || !Orbwalker.CanAttack()))
                        {
                            Q.Cast(bigmob.ServerPosition);
                        }
                        else
                        {
                            var qMobs = mobs.Where(x => x.IsValidTarget(Q.Range)).ToArray();
                            var qFarm = Q.GetSpellFarmPosition(qMobs);

                            if (qFarm.HitCount >= 2)
                            {
                                Q.Cast(qFarm.CastPosition);
                            }
                        }
                    }

                    if (JungleClearOption.UseE && E.Ready)
                    {
                        if (bigmob != null && bigmob.IsValidTarget(E.Range) && (!bigmob.IsValidAutoRange() || !Orbwalker.CanAttack()))
                        {
                            E.Cast(bigmob.ServerPosition);
                        }
                    }

                    if (JungleClearOption.UseW && W.Ready && !isWActive)
                    {
                        if (bigmob != null && bigmob.IsValidTarget(W.Range) && (!bigmob.IsValidAutoRange() || !Orbwalker.CanAttack()))
                        {
                            W.Cast();
                        }
                        else
                        {
                            var wMobs = mobs.Where(x => x.IsValidTarget(W.Range)).ToArray();

                            if (wMobs.Length >= 2)
                            {
                                W.Cast();
                            }
                        }
                    }
                }
            }
        }
Пример #18
0
        private static void JungleClear()
        {
            if (JungleClearOption.HasEnouguMana())
            {
                var mobs = GameObjects.Jungle.Where(x => x.IsValidTarget(R.Range) && x.GetJungleType() != JungleType.Unknown).ToList();

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

                    if (JungleClearOption.UseQ && Q.IsReady())
                    {
                        if (bigmob != null && bigmob.IsValidTarget(Q.Range) && (!bigmob.InAutoAttackRange() || !Orbwalker.CanAttack()))
                        {
                            Q.Cast(bigmob.PreviousPosition);
                        }
                        else
                        {
                            var qMobs = mobs.Where(x => x.IsValidTarget(Q.Range)).ToList();
                            var qFarm = Q.GetCircularFarmLocation(qMobs);

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

                    if (JungleClearOption.UseE && E.IsReady())
                    {
                        if (bigmob != null && bigmob.IsValidTarget(E.Range) && (!bigmob.InAutoAttackRange() || !Orbwalker.CanAttack()))
                        {
                            E.Cast(bigmob.PreviousPosition);
                        }
                    }

                    if (JungleClearOption.UseW && W.IsReady() && !isWActive)
                    {
                        if (bigmob != null && bigmob.IsValidTarget(W.Range) && (!bigmob.InAutoAttackRange() || !Orbwalker.CanAttack()))
                        {
                            W.Cast();
                        }
                        else
                        {
                            var wMobs = mobs.Where(x => x.IsValidTarget(W.Range)).ToList();

                            if (wMobs.Count >= 2)
                            {
                                W.Cast();
                            }
                        }
                    }
                }
            }
        }
Пример #19
0
        private static void PostAttack(object sender, PostAttackEventArgs Args)
        {
            if (Args.Target == null || Args.Target.IsDead || !Args.Target.IsValidTarget() || Args.Target.Health <= 0)
            {
                return;
            }

            switch (Args.Target.Type)
            {
            case GameObjectType.obj_AI_Hero:
            {
                var target = Args.Target as Obj_AI_Hero;

                if (target != null && target.IsValidTarget())
                {
                    if (Orbwalker.Mode == OrbwalkingMode.Combo)
                    {
                        if (ComboOption.UseQ && Q.Ready)
                        {
                            Q.CastOnUnit(target);
                        }
                        else if (ComboOption.UseW && W.Ready)
                        {
                            W.Cast();
                        }
                    }
                }
            }
            break;

            case GameObjectType.obj_AI_Minion:
            {
                var mob = Args.Target as Obj_AI_Minion;

                if (mob != null && mob.IsValidTarget() && mob.IsMob())
                {
                    if (Orbwalker.Mode == OrbwalkingMode.Laneclear)
                    {
                        if (JungleClearOption.HasEnouguMana())
                        {
                            if (JungleClearOption.UseQ && Q.Ready)
                            {
                                Q.CastOnUnit(mob);
                            }
                            else if (JungleClearOption.UseW && W.Ready)
                            {
                                W.Cast();
                            }
                        }
                    }
                }
            }
            break;
            }
        }
Пример #20
0
        private static void JungleClearEvent()
        {
            if (JungleClearOption.HasEnouguMana())
            {
                var mobs = GameObjects.Jungle.Where(x => x.IsValidTarget(E.Range) && x.GetJungleType() != JungleType.Unknown)
                           .OrderByDescending(x => x.MaxHealth)
                           .ToList();

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

                    if (JungleClearOption.UseE && E.IsReady() && mob != null && mob.IsValidTarget(E.Range))
                    {
                        E.CastIfHitchanceEquals(mob, HitChance.Medium);
                    }

                    if (JungleClearOption.UseW && 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))
                        {
                            if (m.IsValidTarget(600))
                            {
                                W.Cast();
                            }
                        }
                    }

                    if (JungleClearOption.UseQ && Q.IsReady() && AxeCount < 2 && Orbwalker.CanAttack())
                    {
                        if (mobs.Count >= 2)
                        {
                            Q.Cast();
                        }

                        if (mobs.Count == 1 && mob != null && mob.InAutoAttackRange() && mob.Health > Me.GetAutoAttackDamage(mob) * 5)
                        {
                            Q.Cast();
                        }
                    }
                }
            }
        }
Пример #21
0
        private static void JungleClear()
        {
            if (JungleClearOption.HasEnouguMana())
            {
                if (JungleClearOption.UseQ && Q.Ready)
                {
                    var mobs = GameObjects.EnemyMinions.Where(x => x.IsValidTarget(Q.Range) && x.IsMob()).ToArray();

                    if (mobs.Any())
                    {
                        Q.Cast(mobs[0]);
                    }
                }
            }
        }
Пример #22
0
        private static void JungleClearEvent()
        {
            if (JungleClearOption.HasEnouguMana())
            {
                var mobs = GameObjects.EnemyMinions.Where(x => x.IsValidTarget(E.Range) && x.IsMob()).ToArray();

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

                    if (JungleClearOption.UseE && E.Ready && mob != null && mob.IsValidTarget(E.Range))
                    {
                        E.Cast(mob);
                    }

                    if (JungleClearOption.UseW && W.Ready && !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))
                        {
                            if (m.IsValidTarget(600))
                            {
                                W.Cast();
                            }
                        }
                    }

                    if (JungleClearOption.UseQ && Q.Ready && AxeCount < 2 && Orbwalker.CanAttack())
                    {
                        if (mobs.Length >= 2)
                        {
                            Q.Cast();
                        }

                        if (mobs.Length == 1 && mob != null && mob.IsValidAutoRange() && mob.Health > Me.GetAutoAttackDamage(mob) * 5)
                        {
                            Q.Cast();
                        }
                    }
                }
            }
        }
Пример #23
0
        private static void JungleClear()
        {
            if (JungleClearOption.HasEnouguMana())
            {
                var mobs =
                    GameObjects.EnemyMinions.Where(x => x.IsValidTarget(Q.Range) && x.IsMinion())
                    .OrderBy(x => x.MaxHealth)
                    .ToArray();

                if (mobs.Any())
                {
                    var bigMob = mobs.First(x => !x.Name.Contains("mini") && !x.Name.Contains("Crap"));

                    if (bigMob != null && bigMob.IsValidTarget())
                    {
                        if (JungleClearOption.UseQ && Q.Ready && bigMob.IsValidTarget(Q.Range) &&
                            (bigMob.DistanceToPlayer() > Me.GetFullAttackRange(bigMob) ||
                             !Orbwalker.CanAttack()))
                        {
                            Q.Cast(bigMob);
                        }

                        if (JungleClearOption.UseE && E.Ready && bigMob.IsValidTarget())
                        {
                            if (GetEDamageForMinion(bigMob) > bigMob.Health)
                            {
                                E.Cast();
                            }
                        }
                    }
                    else
                    {
                        if (JungleClearOption.UseQ && Q.Ready)
                        {
                            var qFarm = Q.GetSpellFarmPosition(mobs);

                            if (qFarm.HitCount >= 2)
                            {
                                Q.Cast(qFarm.CastPosition);
                            }
                        }
                    }
                }
            }
        }
Пример #24
0
        private static void JungleClear()
        {
            if (JungleClearOption.HasEnouguMana())
            {
                var mobs =
                    GameObjects.Jungle.Where(x => x.IsValidTarget(Q.Range) && x.GetJungleType() != JungleType.Unknown)
                    .OrderByDescending(x => x.MaxHealth)
                    .ToList();

                if (mobs.Any())
                {
                    var bigMob = mobs.First(x => !x.Name.Contains("mini") && !x.Name.Contains("Crap"));

                    if (bigMob != null && bigMob.IsValidTarget())
                    {
                        if (JungleClearOption.UseQ && Q.IsReady() && bigMob.IsValidTarget(Q.Range) &&
                            (bigMob.DistanceToPlayer() > Me.GetRealAutoAttackRange(bigMob) ||
                             !Orbwalker.CanAttack()))
                        {
                            Q.CastIfHitchanceEquals(bigMob, HitChance.Medium);
                        }

                        if (JungleClearOption.UseE && E.IsReady() && bigMob.IsValidTarget())
                        {
                            if (GetEDamageForMinion(bigMob) > bigMob.Health)
                            {
                                E.Cast();
                            }
                        }
                    }
                    else
                    {
                        if (JungleClearOption.UseQ && Q.IsReady())
                        {
                            var qFarm = Q.GetLineFarmLocation(mobs);

                            if (qFarm.MinionsHit >= 2)
                            {
                                Q.Cast(qFarm.Position);
                            }
                        }
                    }
                }
            }
        }
Пример #25
0
        private static void JungleClear()
        {
            if (JungleClearOption.HasEnouguMana())
            {
                var mobs =
                    GameObjects.Jungle.Where(x => x.IsValidTarget(1200) && x.GetJungleType() != JungleType.Unknown)
                    .Where(x => x.GetJungleType() != JungleType.Small)
                    .ToList();

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

                    if (mob != null)
                    {
                        if (JungleClearOption.UseQ && Q.IsReady() && mob.IsValidTarget(1600f))
                        {
                            if (Q.IsCharging)
                            {
                                if (mob.IsValidTarget(Q.Range))
                                {
                                    Q.ShootChargedSpell(mob.PreviousPosition);
                                }
                            }
                            else
                            {
                                Q.StartCharging();
                            }
                        }

                        if (Q.IsCharging)
                        {
                            return;
                        }

                        if (JungleClearOption.UseE && E.IsReady() && mob.IsValidTarget(E.Range))
                        {
                            E.Cast(mob.PreviousPosition);
                        }
                    }
                }
            }
        }
Пример #26
0
        private static void JungleClear()
        {
            if (JungleClearOption.HasEnouguMana())
            {
                if (JungleClearOption.UseQ && Q.IsReady())
                {
                    var mobs = GameObjects.Jungle.Where(x => x.IsValidTarget(Q.Range) && x.GetJungleType() != JungleType.Unknown).ToList();

                    if (mobs.Any())
                    {
                        var qFarm = Q.GetLineFarmLocation(mobs, 30);
                        if (qFarm.MinionsHit >= 2 || mobs.Any(x => x.GetJungleType() != JungleType.Small) && qFarm.MinionsHit >= 1)
                        {
                            Q.Cast(qFarm.Position);
                        }
                    }
                }
            }
        }
Пример #27
0
        private static void JungleClear()
        {
            if (JungleClearOption.HasEnouguMana())
            {
                var mobs =
                    GameObjects.EnemyMinions.Where(x => x.IsValidTarget(1200) && x.IsMob())
                    .Where(x => !x.Name.Contains("mini"))
                    .ToArray();

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

                    if (mob != null)
                    {
                        if (JungleClearOption.UseQ && Q.Ready && mob.IsValidTarget(1600f))
                        {
                            if (Q.IsCharging)
                            {
                                if (mob.IsValidTarget(Q.Range))
                                {
                                    Q.Cast(mob.ServerPosition);
                                }
                            }
                            else
                            {
                                Q.StartCharging(mob.ServerPosition);
                            }
                        }

                        if (Q.IsCharging)
                        {
                            return;
                        }

                        if (JungleClearOption.UseE && E.Ready && mob.IsValidTarget(E.Range))
                        {
                            E.Cast(mob.ServerPosition);
                        }
                    }
                }
            }
        }
Пример #28
0
        private static void JungleClear()
        {
            if (JungleClearOption.HasEnouguMana())
            {
                if (JungleClearOption.UseW && !Me.HasBuff("AsheQAttack"))
                {
                    var mobs = GameObjects.EnemyMinions.Where(x => x.IsValidTarget(W.Range) && x.IsMob()).ToArray();

                    if (mobs.Any())
                    {
                        var wFarm = W.GetSpellFarmPosition(mobs);

                        if (wFarm.HitCount >= 2 || mobs.Any(x => MobsName.Contains(x.UnitSkinName.ToLower())) && wFarm.HitCount >= 1)
                        {
                            W.Cast(wFarm.CastPosition);
                        }
                    }
                }
            }
        }
Пример #29
0
        private static void JungleClear()
        {
            if (JungleClearOption.HasEnouguMana())
            {
                if (JungleClearOption.UseQ && Q.Ready)
                {
                    var mobs = GameObjects.EnemyMinions.Where(x => x.IsValidTarget(Q.Range) && x.IsMob()).ToArray();

                    if (mobs.Any())
                    {
                        var qFarm = Q.GetSpellFarmPosition(mobs);

                        if (qFarm.HitCount >= 1)
                        {
                            Q.Cast(qFarm.CastPosition);
                        }
                    }
                }
            }
        }
Пример #30
0
        private static void JungleClear()
        {
            if (JungleClearOption.HasEnouguMana())
            {
                var mobs = GameObjects.Jungle.Where(x => x.IsValidTarget(E.Range) && x.GetJungleType() != JungleType.Unknown && x.GetJungleType() != JungleType.Small).ToList();

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

                    if (JungleClearOption.UseE && E.IsReady())
                    {
                        E.CastOnUnit(mob);
                    }

                    if (JungleClearOption.UseQ && Q.IsReady() && !E.IsReady())
                    {
                        Q.Cast();
                    }
                }
            }
        }