Exemplo n.º 1
0
        private void UseSpells(bool useQ, bool useW, bool useE, bool useR, string source)
        {
            if (source == "Harass" && !ManaManager.HasMana("Harass"))
            {
                return;
            }

            if (useQ)
            {
                Cast_Q();
            }
            if (useW)
            {
                Cast_W();
            }
            //items
            if (source == "Combo")
            {
                var itemTarget = TargetSelector.GetTarget(750, TargetSelector.DamageType.Physical);
                if (itemTarget != null)
                {
                    var dmg = GetComboDamage(itemTarget);
                    ItemManager.Target = itemTarget;

                    //see if killable
                    if (dmg > itemTarget.Health - 50)
                    {
                        ItemManager.KillableTarget = true;
                    }

                    ItemManager.UseTargetted = true;
                }
            }
            if (useE)
            {
                Cast_E();
            }
            if (useR)
            {
                Cast_R();
            }
        }
Exemplo n.º 2
0
        private void Harass()
        {
            if (!ManaManager.HasMana("Harass"))
            {
                return;
            }

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

            var dmg = GetComboDamage(eTarget);

            if (eTarget == null)
            {
                return;
            }

            //E
            if (Menu.Item("UseEHarass", true).GetValue <bool>() && E.IsReady() && Player.Distance(eTarget.Position) < E.Range)
            {
                SpellCastManager.CastBasicSkillShot(E, E.Range, TargetSelector.DamageType.Magical, HitChance.VeryHigh);
                if (Menu.Item("EQ", true).GetValue <bool>() && Q.IsReady() && !E.IsReady())
                {
                    SpellCastManager.CastBasicSkillShot(Q, Q.Range, TargetSelector.DamageType.Magical, HitChance.VeryHigh);
                }
            }

            //W
            if (Menu.Item("UseWHarass", true).GetValue <bool>() && W.IsReady() && Player.Distance(eTarget.Position) <= W.Range - 100)
            {
                W.Cast();
            }

            if (Menu.Item("longQ", true).GetValue <bool>())
            {
                if (Menu.Item("UseQHarass", true).GetValue <bool>() && Q.IsReady() && Player.Distance(eTarget.Position) <= Q.Range &&
                    Player.Distance(eTarget.Position) > 600)
                {
                    SpellCastManager.CastBasicSkillShot(Q, Q.Range, TargetSelector.DamageType.Magical, HitChance.VeryHigh);
                }
            }
        }
Exemplo n.º 3
0
        private void Farm()
        {
            if (!ManaManager.HasMana("Farm"))
            {
                return;
            }

            var useQ = Menu.Item("UseQFarm", true).GetValue <bool>();
            var useW = Menu.Item("UseWFarm", true).GetValue <bool>();

            if (useQ)
            {
                SpellCastManager.CastBasicFarm(Q);
            }

            if (useW && W.IsReady())
            {
                SpellCastManager.CastBasicFarm(W);
            }
        }
Exemplo n.º 4
0
        private void Farm()
        {
            if (!ManaManager.HasMana("LaneClear"))
            {
                return;
            }

            var useQ = Menu.Item("UseQFarm", true).GetValue <bool>();
            var useW = Menu.Item("UseWFarm", true).GetValue <bool>();

            if (useQ && Utils.TickCount - CastSpellTime >= 400)
            {
                var allMinions = MinionManager.GetMinions(Player.Position, Q.Range);

                if (allMinions.Any())
                {
                    var minion = allMinions.FirstOrDefault();

                    if (minion != null)
                    {
                        var qExminions = MinionManager.GetMinions(Player.Position, 900);

                        if (QExtend.CountHits(allMinions, Player.Position.Extend(minion.Position, 900)) >= 2)
                        {
                            Q.CastOnUnit(minion);
                        }
                    }
                }
            }
            if (useW && Utils.TickCount - CastSpellTime >= 400)
            {
                var allMinionE = MinionManager.GetMinions(Player.ServerPosition, W.Range);

                if (allMinionE.Count > 2)
                {
                    var pred = W.GetCircularFarmLocation(allMinionE);

                    W.Cast(pred.Position);
                }
            }
        }
Exemplo n.º 5
0
        private void Farm()
        {
            if (!ManaManager.HasMana("Farm"))
            {
                return;
            }

            var allMinionsQ = MinionManager.GetMinions(ObjectManager.Player.ServerPosition, Q.Range + Q.Width);
            var allMinionsW = MinionManager.GetMinions(ObjectManager.Player.ServerPosition, W.Width);
            var allMinionsE = MinionManager.GetMinions(ObjectManager.Player.ServerPosition, E.Range + E.Width, MinionTypes.All, MinionTeam.NotAlly);

            var useQ = menu.Item("UseQFarm", true).GetValue <bool>();
            var useW = menu.Item("UseWFarm", true).GetValue <bool>();
            var useE = menu.Item("UseEFarm", true).GetValue <bool>();

            if (useE && E.IsReady() && !_eCreated)
            {
                var ePos = E.GetLineFarmLocation(allMinionsE);
                if (ePos.MinionsHit >= 3)
                {
                    E.Cast(ePos.Position);
                }
            }

            if (useQ && Q.IsReady())
            {
                var qPos = Q.GetLineFarmLocation(allMinionsQ);
                if (qPos.MinionsHit >= 2)
                {
                    Q.Cast(qPos.Position);
                }
            }

            if (useW && W.IsReady())
            {
                if (allMinionsW.Count >= 2)
                {
                    W.Cast();
                }
            }
        }
Exemplo n.º 6
0
        private void Farm()
        {
            if (!ManaManager.HasMana("LaneClear"))
            {
                return;
            }

            var useQ = menu.Item("UseQFarm", true).GetValue <bool>();

            var minion = MinionManager.GetMinions(ObjectManager.Player.ServerPosition, Q.Range, MinionTypes.All, MinionTeam.NotAlly);
            var min    = menu.Item("MinFarm", true).GetValue <Slider>().Value;

            if (useQ)
            {
                var pred = Q.GetLineFarmLocation(minion);
                if (pred.MinionsHit >= min)
                {
                    Q.Cast(pred.Position);
                }
            }
        }
Exemplo n.º 7
0
        private void Jungle()
        {
            if (!ManaManager.HasMana("JungleClear"))
            {
                return;
            }

            var minionQ = MinionManager.GetMinions(Player.ServerPosition, Q.Range, MinionTypes.All, MinionTeam.Neutral);
            var minionW = MinionManager.GetMinions(Player.ServerPosition, W.Range, MinionTypes.All, MinionTeam.Neutral);
            var minions = MinionManager.GetMinions(Player.ServerPosition, E.Range, MinionTypes.All, MinionTeam.Neutral);

            if (Menu.Item("UseQJungle", true).GetValue <bool>() && minionQ.Count > 0)
            {
                var pred = Q.GetCircularFarmLocation(minionQ, 120);

                Q.Cast(pred.Position);
            }

            if (Menu.Item("UseWJungle", true).GetValue <bool>() && minionW.Count > 0)
            {
                var pred = W.GetCircularFarmLocation(minionW, 200);

                W.Cast(pred.Position);
            }

            if (Menu.Item("UseEJungle", true).GetValue <bool>() && minions.Count > 0)
            {
                if (minions.Count == 0)
                {
                    return;
                }

                var minion = minions.FirstOrDefault(x => PoisonDuration(x) > E.Delay);

                if (minion != null)
                {
                    E.Cast(minion);
                }
            }
        }
Exemplo n.º 8
0
        private void Farm()
        {
            if (!ManaManager.HasMana("Farm"))
            {
                return;
            }

            var allMinionsQ = MinionManager.GetMinions(ObjectManager.Player.ServerPosition,
                                                       Q.Range + Q.Width);
            var allMinionsW = MinionManager.GetMinions(ObjectManager.Player.ServerPosition,
                                                       Q.Range + Q.Width);

            var useQ = Menu.Item("UseQFarm", true).GetValue <bool>();
            var useW = Menu.Item("UseWFarm", true).GetValue <bool>();
            var min  = Menu.Item("qFarm", true).GetValue <Slider>().Value;

            if (useQ && Q.IsReady())
            {
                Q.From = _currentBallPosition;

                var pred = Q.GetCircularFarmLocation(allMinionsQ, Q.Width + 15);

                if (pred.MinionsHit >= min)
                {
                    Q.Cast(pred.Position);
                }
            }

            var hit = 0;

            if (useW && W.IsReady())
            {
                hit += allMinionsW.Count(enemy => enemy.Distance(_currentBallPosition) < W.Width);

                if (hit >= min && W.IsReady())
                {
                    W.Cast();
                }
            }
        }
Exemplo n.º 9
0
        private void Harass()
        {
            if (!ManaManager.HasMana("Harass"))
            {
                return;
            }

            if (Menu.Item("UseQHarass", true).GetValue <bool>())
            {
                Cast_Q();
            }

            if (Menu.Item("UseWHarass", true).GetValue <bool>())
            {
                Cast_W();
            }

            if (Menu.Item("UseEHarass", true).GetValue <bool>())
            {
                Cast_E();
            }
        }
Exemplo n.º 10
0
        private void UseSpells(bool useQ, bool useW, string source)
        {
            if (source == "Harass" && !ManaManager.HasMana("Harass"))
            {
                return;
            }

            //items
            if (source == "Combo")
            {
                var itemTarget = TargetSelector.GetTarget(750, TargetSelector.DamageType.Physical);
                if (itemTarget != null)
                {
                    var dmg = GetComboDamage(itemTarget);
                    ItemManager.Target = itemTarget;

                    //see if killable
                    if (dmg > itemTarget.Health - 50)
                    {
                        ItemManager.KillableTarget = true;
                    }

                    ItemManager.UseTargetted = true;
                }
            }

            var target = TargetSelector.GetTarget(550, TargetSelector.DamageType.Magical);

            if ((target != null && source == "Combo") && menu.Item("Always_Use", true).GetValue <bool>())
            {
                return;
            }

            if (useW && W.IsReady())
            {
                W.CastIfHitchanceEquals(target, HitChance.High);
            }
        }
Exemplo n.º 11
0
        private void JungleClear()
        {
            if (!ManaManager.HasMana("Jungle"))
            {
                return;
            }

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

            var useQ = Menu.Item("UseQJungle", true).GetValue <bool>();
            var useW = Menu.Item("UseWJungle", true).GetValue <bool>();

            if (JungleQ.Any())
            {
                var o = JungleQ.FirstOrDefault();

                if (o == null)
                {
                    return;
                }

                if (soldierCount() > 0)
                {
                    if (useQ && Q.IsReady())
                    {
                        Q.Cast(o.Position);
                    }
                }
                else
                {
                    if (useW && W.IsReady() && JungleQ.Count(x => x.Distance(Player) <= W.Range) > 0)
                    {
                        W.Cast(o.Position);
                    }
                }
            }
        }
Exemplo n.º 12
0
        private void Farm()
        {
            if (!ManaManager.HasMana("LaneClear"))
            {
                return;
            }

            List <Obj_AI_Base> allMinionsE = MinionManager.GetMinions(Player.ServerPosition, Player.AttackRange + Player.BoundingRadius,
                                                                      MinionTypes.All, MinionTeam.NotAlly);

            var useQ = menu.Item("UseQFarm", true).GetValue <bool>();
            var useE = menu.Item("UseEFarm", true).GetValue <bool>();

            if (useQ)
            {
                Cast_Q_Last_Hit();
            }

            if (useE && allMinionsE.Count > 0 && E.IsReady())
            {
                E.Cast();
            }
        }
Exemplo n.º 13
0
        private void Farm()
        {
            if (!ManaManager.HasMana("LaneClear"))
            {
                return;
            }

            var minions = MinionManager.GetMinions(Player.Position, Q.Range);

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

                    if (pred.MinionsHit >= Menu.Item("MinFarm", true).GetValue <Slider>().Value)
                    {
                        Q.Cast(pred.Position);
                    }
                }

                if (Menu.Item("UseEFarm", true).GetValue <bool>() && E.IsReady() &&
                    Player.CountEnemiesInRange(800) < 1)
                {
                    var eMinion =
                        minions.FirstOrDefault(
                            x => x.IsValidTarget(E.Range + Player.AttackRange) && x.Health < E.GetDamage(x));

                    if (eMinion != null)
                    {
                        E.Cast(eMinion.Position);
                        Player.IssueOrder(GameObjectOrder.AttackUnit, eMinion);
                    }
                }
            }
        }
Exemplo n.º 14
0
        private void JungleClear()
        {
            if (!ManaManager.HasMana("JungleClear"))
            {
                return;
            }

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

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

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

                    if (Menu.Item("JungleClearQ", true).GetValue <bool>() && Q.IsReady() &&
                        mob.Distance(Player) <= Q.Range)
                    {
                        Q.Cast(mob.Position);
                    }

                    if (Menu.Item("JungleClearE", true).GetValue <bool>() && E.IsReady() &&
                        mob.Distance(Player) <= E.Range + Player.AttackRange)
                    {
                        E.Cast(mob.Position);
                    }
                }
            }
        }
Exemplo n.º 15
0
        private void Harass()
        {
            if (!ManaManager.HasMana("Harass"))
            {
                return;
            }

            var target = TargetSelector.GetTarget(550, TargetSelector.DamageType.Magical);

            if (Menu.Item("UseRHarass", true).GetValue <bool>() && R.IsReady())
            {
                Cast_R(2);
            }

            if (Menu.Item("UseQHarass", true).GetValue <bool>() && Q.IsReady())
            {
                SpellCastManager.CastBasicSkillShot(Q, Q.Range, TargetSelector.DamageType.Magical, HitChance.VeryHigh);
            }

            if (Menu.Item("UseEHarass", true).GetValue <bool>() && E.IsReady())
            {
                SpellCastManager.CastBasicSkillShot(E, E.Range, TargetSelector.DamageType.Physical, HitChance.Low);
            }
        }
Exemplo n.º 16
0
        private void Harass()
        {
            if (!ManaManager.HasMana("Harass"))
            {
                return;
            }

            var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical);

            if (Menu.Item("UseEHarass", true).GetValue <bool>() && E.IsReady())
            {
                Cast_E();
            }

            if (Menu.Item("UseWHarass", true).GetValue <bool>() && W.IsReady() && target.IsValidTarget(W.Range) &&
                !target.HasBuffOfType(BuffType.Poison))
            {
                var wPred = W.GetPrediction(target, true);

                if (wPred.Hitchance >= HitChance.VeryHigh)
                {
                    W.Cast(wPred.CastPosition);
                }
            }

            if (Menu.Item("UseQHarass", true).GetValue <bool>() && Q.IsReady() && target.IsValidTarget(Q.Range) &&
                !target.HasBuffOfType(BuffType.Poison))
            {
                var qPred = Q.GetPrediction(target);

                if (qPred.Hitchance >= HitChance.VeryHigh)
                {
                    Q.Cast(qPred.CastPosition);
                }
            }
        }
Exemplo n.º 17
0
        private void Farm()
        {
            if (!ManaManager.HasMana("LaneClear"))
            {
                return;
            }

            var allMinionsQ = MinionManager.GetMinions(Player.ServerPosition, Q.Range, MinionTypes.All, MinionTeam.NotAlly);
            var allMinionsE = MinionManager.GetMinions(Player.ServerPosition, E.Range, MinionTypes.All, MinionTeam.NotAlly);

            var useQ = Menu.Item("UseQFarm", true).GetValue <bool>();
            var useW = Menu.Item("UseWFarm", true).GetValue <bool>();
            var useE = Menu.Item("UseEFarm", true).GetValue <bool>();

            if (useQ && allMinionsQ.Count > 0 && Q.IsReady())
            {
                var pred = Q.GetCircularFarmLocation(allMinionsQ);
                Q.Cast(pred.Position);

                if (useW)
                {
                    Cast_W(pred.Position.To3D());
                }
            }

            if (useE && allMinionsE.Count > 0 && E.IsReady())
            {
                var pred = E.GetLineFarmLocation(allMinionsE);
                E.Cast(pred.Position);

                if (useW)
                {
                    Cast_W(pred.Position.To3D());
                }
            }
        }
Exemplo n.º 18
0
        private void UseSpells(bool useQ, bool useW, bool useE, bool useR, string source)
        {
            if (source == "Harass" && !ManaManager.HasMana(source))
            {
                return;
            }

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

            var dmg = GetComboDamage(eTarget);

            if (eTarget == null)
            {
                return;
            }

            if (source == "Combo")
            {
                //items-------
                ItemManager.Target = eTarget;

                //see if killable
                if (dmg > eTarget.Health - 50)
                {
                    ItemManager.KillableTarget = true;
                }

                //Items
                ItemManager.UseTargetted = true;
            }
            //end items-------

            //E
            if (useE && E.IsReady() && Player.Distance(eTarget.Position) < E.Range)
            {
                SpellCastManager.CastBasicSkillShot(E, E.Range, TargetSelector.DamageType.Magical, HitChanceManager.GetEHitChance(source));
                if (menu.Item("EQ", true).GetValue <bool>() && Q.IsReady() && !E.IsReady())
                {
                    SpellCastManager.CastBasicSkillShot(Q, Q.Range, TargetSelector.DamageType.Magical, HitChanceManager.GetQHitChance(source));
                }
            }

            //W
            if (useW && W.IsReady() && Player.Distance(eTarget.Position) <= W.Range - 100 &&
                ShouldW(eTarget, source))
            {
                W.Cast();
            }

            if (source == "Harass" && menu.Item("longQ", true).GetValue <bool>())
            {
                if (useQ && Q.IsReady() && Player.Distance(eTarget.Position) <= Q.Range &&
                    ShouldQ(eTarget, source) && Player.Distance(eTarget.Position) > 600)
                {
                    SpellCastManager.CastBasicSkillShot(Q, Q.Range, TargetSelector.DamageType.Magical, HitChanceManager.GetQHitChance(source));
                }
            }
            else if (useQ && Q.IsReady() && Player.Distance(eTarget.Position) <= Q.Range &&
                     ShouldQ(eTarget, source))
            {
                SpellCastManager.CastBasicSkillShot(Q, Q.Range, TargetSelector.DamageType.Magical, HitChanceManager.GetQHitChance(source));
            }

            //R
            if (useR && R.IsReady() && Player.Distance(eTarget.Position) < R.Range)
            {
                if (E.IsReady())
                {
                    if (CheckReq(rETarget))
                    {
                        SpellCastManager.CastBasicSkillShot(E, E.Range, TargetSelector.DamageType.Magical, HitChanceManager.GetEHitChance(source));
                    }
                }
                if (ShouldR(eTarget, dmg) && R.IsReady())
                {
                    R.Cast(Game.CursorPos);
                    _rTimer = Utils.TickCount - 250;
                }
                if (_rTimeLeft > 9500 && _rOn && R.IsReady())
                {
                    R.Cast(Game.CursorPos);
                    _rTimer = Utils.TickCount - 250;
                }
            }
        }
Exemplo n.º 19
0
        private void UseSpells(bool useQ, bool useW, bool useE, bool useR, String source)
        {
            if (source == "Harass" && !ManaManager.HasMana("Harass"))
            {
                return;
            }

            var         range  = E.IsReady() ? E.Range : Q.Range;
            Obj_AI_Hero target = TargetSelector.GetTarget(range, TargetSelector.DamageType.Magical);

            if (useQ && Q.IsReady())
            {
                CastQ(target, source);
            }

            if (_isBallMoving)
            {
                return;
            }

            if (useW && target != null && W.IsReady())
            {
                CastW(target);
            }

            //items
            if (source == "Combo")
            {
                var itemTarget = TargetSelector.GetTarget(750, TargetSelector.DamageType.Physical);
                if (itemTarget != null)
                {
                    var dmg = GetComboDamage(itemTarget);
                    ItemManager.Target = itemTarget;

                    //see if killable
                    if (dmg > itemTarget.Health - 50)
                    {
                        ItemManager.KillableTarget = true;
                    }

                    ItemManager.UseTargetted = true;
                }
            }

            if (useE && target != null && E.IsReady())
            {
                CastE(target);
            }

            if (useR && target != null && R.IsReady())
            {
                if (menu.Item("intR" + target.CharData.BaseSkinName, true) != null)
                {
                    foreach (
                        Obj_AI_Hero enemy in
                        ObjectManager.Get <Obj_AI_Hero>()
                        .Where(x => Player.Distance(x.Position) < 1500 && x.IsValidTarget() && x.IsEnemy && !x.IsDead))
                    {
                        if (!enemy.IsDead && menu.Item("intR" + enemy.CharData.BaseSkinName, true).GetValue <bool>())
                        {
                            CastR(enemy, true);
                            return;
                        }
                    }
                }

                if (!(menu.Item("killR", true).GetValue <KeyBind>().Active)) //check if multi
                {
                    if (menu.Item("overK", true).GetValue <bool>() &&
                        (Player.GetSpellDamage(target, SpellSlot.Q) + Player.GetSpellDamage(target, SpellSlot.W)) >= target.Health)
                    {
                        return;
                    }
                    if (GetComboDamage(target) >= target.Health - 100 && !target.IsZombie)
                    {
                        CastR(target);
                    }
                }
            }
        }
Exemplo n.º 20
0
 private bool ShouldW()
 {
     return(ManaManager.HasMana("WMana"));
 }
Exemplo n.º 21
0
        private void JungleClear()
        {
            if (!ManaManager.HasMana("JungleClear"))
            {
                return;
            }

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

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

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

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

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

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

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

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

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

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

                    if (Menu.Item("UseRJungle", true).GetValue <bool>() && R.IsReady())
                    {
                        if (Q1Cd != 0 && W1Cd != 0 && E1Cd != 0)
                        {
                            R.Cast();
                        }
                    }
                }
            }
        }
Exemplo n.º 22
0
        private void UseSpells(bool useQ, bool useW, bool useE, bool useR, string source)
        {
            if (source == "Harass" && !ManaManager.HasMana("Harass"))
            {
                return;
            }

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

            if (target == null)
            {
                return;
            }

            float dmg = GetComboDamage(target);

            if (useW)
            {
                if (useE)
                {
                    var pred = E.GetPrediction(target, true);
                    if (pred.Hitchance >= HitChanceManager.GetEHitChance(source) && E.IsReady())
                    {
                        E.Cast(target);
                        Cast_W(pred.CastPosition);
                    }
                }

                //items
                if (source == "Combo")
                {
                    var itemTarget = TargetSelector.GetTarget(750, TargetSelector.DamageType.Physical);
                    if (itemTarget != null)
                    {
                        ItemManager.Target = itemTarget;

                        //see if killable
                        if (dmg > itemTarget.Health - 50)
                        {
                            ItemManager.KillableTarget = true;
                        }

                        ItemManager.UseTargetted = true;
                    }
                }

                if (useQ)
                {
                    var pred = Q.GetPrediction(target);
                    if (pred.Hitchance >= HitChanceManager.GetQHitChance(source) && pred.CastPosition.Distance(Player.ServerPosition) < Q.Range)
                    {
                        Q.Cast(pred.CastPosition);
                        Cast_W(pred.CastPosition);
                        return;
                    }
                }
            }
            else
            {
                if (useQ)
                {
                    SpellCastManager.CastBasicSkillShot(Q, Q.Range, TargetSelector.DamageType.Magical, HitChanceManager.GetQHitChance((source)));
                }

                if (useE)
                {
                    SpellCastManager.CastBasicSkillShot(E, E.Range, TargetSelector.DamageType.Magical, HitChanceManager.GetEHitChance((source)));
                }
            }

            if (useR)
            {
                Cast_R();
            }
        }
Exemplo n.º 23
0
        private void Farm()
        {
            if (!ManaManager.HasMana("LaneClear"))
            {
                return;
            }

            var useQ = menu.Item("UseQFarm", true).GetValue <bool>();
            var useW = menu.Item("UseWFarm", true).GetValue <bool>();
            var useE = menu.Item("UseEFarm", true).GetValue <bool>();

            if (useQ)
            {
                var min     = menu.Item("QMinHit", true).GetValue <Slider>().Value;
                var minionQ = MinionManager.GetMinions(Player.ServerPosition, Q.Range, MinionTypes.All, MinionTeam.NotAlly);

                var pred = Q.GetCircularFarmLocation(minionQ, 120);

                if (pred.MinionsHit >= min)
                {
                    Q.Cast(pred.Position);
                }
            }
            if (useW)
            {
                var min     = menu.Item("WMinHit", true).GetValue <Slider>().Value;
                var minionW = MinionManager.GetMinions(Player.ServerPosition, W.Range, MinionTypes.All, MinionTeam.NotAlly);

                var pred = W.GetCircularFarmLocation(minionW, 200);

                if (pred.MinionsHit >= min)
                {
                    W.Cast(pred.Position);
                }
            }
            if (useE)
            {
                var mode    = menu.Item("EMode", true).GetValue <StringList>().SelectedIndex;
                var minions = MinionManager.GetMinions(Player.ServerPosition, E.Range, MinionTypes.All, MinionTeam.NotAlly);

                if (minions.Count == 0)
                {
                    return;
                }

                if (mode == 0)
                {
                    var minion = minions.FirstOrDefault(x => PoisonDuration(x) > E.Delay);

                    if (minion != null)
                    {
                        E.Cast(minion);
                    }
                }
                else if (mode == 1)
                {
                    foreach (var x in minions)
                    {
                        var healthPred = HealthPrediction.GetHealthPrediction(x, (int)Player.Distance(x), Game.Ping + 200);

                        if (healthPred <= Player.GetSpellDamage(x, SpellSlot.E))
                        {
                            E.Cast(x);
                        }
                    }
                }
                else if (mode == 2)
                {
                    foreach (var x in minions.Where(x => PoisonDuration(x) > E.Delay))
                    {
                        var healthPred = HealthPrediction.GetHealthPrediction(x, (int)Player.Distance(x), Game.Ping + 200);

                        if (healthPred <= Player.GetSpellDamage(x, SpellSlot.E))
                        {
                            E.Cast(x);
                        }
                    }
                }
            }
        }
Exemplo n.º 24
0
        private void Farm()
        {
            if (!ManaManager.HasMana("Farm"))
            {
                return;
            }

            var allMinionsQ = MinionManager.GetMinions(Player.ServerPosition, Q.Range + Q.Width, MinionTypes.All, MinionTeam.NotAlly);
            var allMinionsW = MinionManager.GetMinions(Player.ServerPosition, W.Range, MinionTypes.All, MinionTeam.NotAlly);

            var useQ = menu.Item("UseQFarm", true).GetValue <bool>();
            var min  = menu.Item("qFarm", true).GetValue <Slider>().Value;


            if (useQ && (Q.IsReady() || QSpell.State == SpellState.Surpressed))
            {
                int hit;
                if (soilderCount() > 0)
                {
                    var slaves = AzirManager.Soilders.ToList();
                    foreach (var slave in slaves)
                    {
                        foreach (var enemy in allMinionsQ)
                        {
                            hit = 0;
                            Q.UpdateSourcePosition(slave.Position, Player.ServerPosition);
                            var prediction = Q.GetPrediction(enemy);

                            if (Q.IsReady() && Player.Distance(enemy.Position) <= Q.Range)
                            {
                                hit += allMinionsQ.Count(enemy2 => enemy2.Distance(prediction.CastPosition) < 200 && Q.IsReady());
                                if (hit >= min)
                                {
                                    if (Q.IsReady())
                                    {
                                        Q.Cast(prediction.CastPosition);
                                        return;
                                    }
                                }
                            }
                        }
                    }
                }
                if (W.IsReady())
                {
                    var wpred = W.GetCircularFarmLocation(allMinionsW);
                    if (wpred.MinionsHit > 0)
                    {
                        W.Cast(wpred.Position);
                    }

                    foreach (var enemy in allMinionsQ)
                    {
                        hit = 0;
                        Q.UpdateSourcePosition(Player.Position, Player.ServerPosition);
                        var prediction = Q.GetPrediction(enemy);

                        if (Q.IsReady() && Player.Distance(enemy.Position) <= Q.Range)
                        {
                            hit += allMinionsQ.Count(enemy2 => enemy2.Distance(prediction.CastPosition) < 200 && Q.IsReady());
                            if (hit >= min)
                            {
                                if (Q.IsReady())
                                {
                                    Q.Cast(prediction.CastPosition);
                                    return;
                                }
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 25
0
        private void UseSpells(bool useQ, bool useW, bool useE, bool useQ2, bool useW2, bool useE2, bool useR, String source)
        {
            var qTarget  = TargetSelector.GetTarget(QExtend.Range, TargetSelector.DamageType.Physical);
            var q2Target = TargetSelector.GetTarget(Q2.Range, TargetSelector.DamageType.Physical);
            var e2Target = TargetSelector.GetTarget(E2.Range, TargetSelector.DamageType.Physical);


            //Main Combo
            if (source == "Combo")
            {
                if (qTarget != null)
                {
                    if (useQ && CanQcd == 0 && Player.Distance(qTarget.Position) <= QExtend.Range && !HammerTime)
                    {
                        CastQCannon(qTarget, useE, source);
                        return;
                    }
                }

                if (HammerTime)
                {
                    if (q2Target != null)
                    {
                        if (useW2 && Player.Distance(q2Target.Position) <= 300 && W.IsReady())
                        {
                            W.Cast();
                        }

                        if (useQ2 && Player.Distance(q2Target.Position) <= Q2.Range + q2Target.BoundingRadius && Q2.IsReady())
                        {
                            Q2.Cast(q2Target);
                        }
                    }
                    if (e2Target != null)
                    {
                        if (useE2 && ECheck(e2Target, useQ, useW) && Player.Distance(e2Target.Position) <= E2.Range + e2Target.BoundingRadius && E2.IsReady())
                        {
                            E2.Cast(q2Target);
                        }
                    }
                }

                var itemTarget = TargetSelector.GetTarget(750, TargetSelector.DamageType.Physical);
                if (itemTarget != null)
                {
                    var dmg = GetComboDamage(itemTarget);
                    ItemManager.Target = itemTarget;

                    //see if killable
                    if (dmg > itemTarget.Health - 50)
                    {
                        ItemManager.KillableTarget = true;
                    }

                    ItemManager.UseTargetted = true;
                }

                //form switch check
                if (useR)
                {
                    SwitchFormCheck(q2Target, useQ, useW, useQ2, useW2, useE2);
                }
            }
            else if (source == "Harass" && ManaManager.HasMana(source))
            {
                if (qTarget != null)
                {
                    if (useQ && CanQcd == 0 && Player.Distance(qTarget.Position) <= QExtend.Range && !HammerTime)
                    {
                        CastQCannon(qTarget, useE, source);
                        return;
                    }
                }
                if (HammerTime)
                {
                    if (q2Target != null)
                    {
                        if (useW2 && Player.Distance(q2Target.Position) <= 300 && W.IsReady())
                        {
                            W.Cast();
                        }

                        if (useQ2 && Player.Distance(q2Target.Position) <= Q2.Range + q2Target.BoundingRadius && Q2.IsReady())
                        {
                            Q2.Cast(q2Target);
                        }
                    }

                    if (q2Target != null)
                    {
                        if (useE2 && Player.Distance(q2Target.Position) <= E2.Range + e2Target.BoundingRadius && E2.IsReady())
                        {
                            E2.Cast(q2Target);
                        }
                    }
                }

                //form switch check
                if (useR && q2Target != null)
                {
                    SwitchFormCheck(q2Target, useQ, useW, useQ2, useW2, useE2);
                }
            }
        }
Exemplo n.º 26
0
        private void Farm()
        {
            if (!ManaManager.HasMana("LaneClear"))
            {
                return;
            }

            if (Menu.Item("UseQFarm", true).GetValue <bool>() && Q.IsReady())
            {
                var min     = Menu.Item("QMinHit", true).GetValue <Slider>().Value;
                var minionQ = MinionManager.GetMinions(Player.ServerPosition, Q.Range);

                var pred = Q.GetCircularFarmLocation(minionQ, 120);

                if (pred.MinionsHit >= min)
                {
                    Q.Cast(pred.Position);
                }
            }

            if (Menu.Item("UseWFarm", true).GetValue <bool>() && W.IsReady())
            {
                var min     = Menu.Item("WMinHit", true).GetValue <Slider>().Value;
                var minionW = MinionManager.GetMinions(Player.ServerPosition, W.Range);

                var pred = W.GetCircularFarmLocation(minionW, 200);

                if (pred.MinionsHit >= min)
                {
                    W.Cast(pred.Position);
                }
            }

            if (Menu.Item("UseEFarm", true).GetValue <bool>() && E.IsReady())
            {
                var mode    = Menu.Item("EMode", true).GetValue <StringList>().SelectedIndex;
                var minions = MinionManager.GetMinions(Player.ServerPosition, E.Range);

                if (minions.Count == 0)
                {
                    return;
                }

                switch (mode)
                {
                case 0:
                    var minion = minions.FirstOrDefault(x => PoisonDuration(x) > E.Delay);

                    if (minion != null)
                    {
                        E.Cast(minion);
                    }
                    break;

                case 1:
                    foreach (var x in minions)
                    {
                        var healthPred = HealthPrediction.GetHealthPrediction(x, (int)Player.Distance(x),
                                                                              Game.Ping + 200);

                        if (healthPred <= Player.GetSpellDamage(x, SpellSlot.E))
                        {
                            E.Cast(x);
                        }
                    }
                    break;

                case 2:
                    foreach (var x in minions.Where(x => PoisonDuration(x) > E.Delay))
                    {
                        var healthPred = HealthPrediction.GetHealthPrediction(x, (int)Player.Distance(x),
                                                                              Game.Ping + 200);

                        if (healthPred <= Player.GetSpellDamage(x, SpellSlot.E))
                        {
                            E.Cast(x);
                        }
                    }
                    break;
                }
            }
        }
Exemplo n.º 27
0
        private void UseSpells(bool useQ, bool useW, bool useE, bool useR, string source)
        {
            if (source == "Harass" && !ManaManager.HasMana("Harass"))
            {
                return;
            }

            var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical);

            if (!target.IsValidTarget(Q.Range))
            {
                return;
            }

            //items
            if (source == "Combo")
            {
                var dmg = GetComboDamage(target);
                ItemManager.Target = target;

                //see if killable
                if (dmg > target.Health - 50)
                {
                    ItemManager.KillableTarget = true;
                }

                ItemManager.UseTargetted = true;
            }

            if (useW && W.IsReady())
            {
                var wTarget = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Magical);

                var pred = Util.GetP(Player.ServerPosition, W, wTarget, 2.5f, true);

                if (menu.Item("W_On_Cc", true).GetValue <bool>())
                {
                    foreach (var enemies in HeroManager.Enemies.Where(x => x.IsValidTarget(W.Range)))
                    {
                        if (enemies.HasBuffOfType(BuffType.Snare) || enemies.HasBuffOfType(BuffType.Stun) || enemies.HasBuffOfType(BuffType.Fear) || enemies.HasBuffOfType(BuffType.Suppression))
                        {
                            W.Cast(enemies);
                            break;
                        }
                    }
                }

                if (pred.Hitchance >= HitChance.VeryHigh)
                {
                    W.Cast(pred.CastPosition);
                }
            }

            if (useE && E.IsReady())
            {
                var etarget = TargetSelector.GetTarget(E.Range + 425, TargetSelector.DamageType.Magical);

                if (etarget.IsValidTarget(E.Range + 425))
                {
                    var vec = Player.ServerPosition.Extend(etarget.ServerPosition, E.Range - 10);

                    if (vec.Distance(target.ServerPosition) < 425 && ShouldE(vec))
                    {
                        E.Cast(vec);
                        Utility.DelayAction.Add((int)E.Delay * 1000 + Game.Ping, () => Player.IssueOrder(GameObjectOrder.AttackUnit, etarget));
                    }
                }
            }

            if (useQ && Q.IsReady())
            {
                SpellCastManager.CastBasicSkillShot(Q, Q.Range, TargetSelector.DamageType.Magical,
                                                    HitChanceManager.GetQHitChance(source));
                SpellCastManager.CastBasicSkillShot(Q2, Q2.Range, TargetSelector.DamageType.Magical,
                                                    HitChanceManager.GetQHitChance(source));
            }

            if (useR && R.IsReady() && _ekkoPast != null)
            {
                if (menu.Item("R_On_Killable", true).GetValue <bool>())
                {
                    if ((from enemie in HeroManager.Enemies.Where(x => x.IsValidTarget()).Where(x => Prediction.GetPrediction(x, 25f).UnitPosition.Distance(_ekkoPast.ServerPosition) < 400)
                         let dmg = GetComboDamage(enemie) where dmg > enemie.Health select enemie).Any())
                    {
                        R.Cast();
                        return;
                    }
                }

                if (AoeR())
                {
                    R.Cast();
                }
            }
        }
Exemplo n.º 28
0
        private void Farm()
        {
            if (!ManaManager.HasMana("Farm"))
            {
                return;
            }

            var allMinionsQ = MinionManager.GetMinions(Player.ServerPosition, Q.Range + Q.Width);
            var allMinionsW = MinionManager.GetMinions(Player.ServerPosition, W.Range);

            var useQ = Menu.Item("UseQFarm", true).GetValue <bool>();
            var min  = Menu.Item("qFarm", true).GetValue <Slider>().Value;

            if (useQ && (Q.IsReady() || QSpell.State == SpellState.Surpressed))
            {
                int hit;

                if (soldierCount() > 0)
                {
                    var slaves = Orbwalking.AzirSoliders.ToList();

                    foreach (var slave in slaves)
                    {
                        foreach (var enemy in allMinionsQ)
                        {
                            hit = 0;
                            Q.UpdateSourcePosition(slave.Position, Player.ServerPosition);

                            var prediction = Q.GetPrediction(enemy);

                            if (Q.IsReady() && Player.Distance(enemy.Position) <= Q.Range)
                            {
                                hit += allMinionsQ.Count(enemy2 => enemy2.Distance(prediction.CastPosition) < 200 && Q.IsReady());
                                if (hit >= min)
                                {
                                    if (Q.IsReady())
                                    {
                                        Q.Cast(prediction.CastPosition);
                                        return;
                                    }
                                }
                            }
                        }
                    }
                }

                if (W.IsReady())
                {
                    if (allMinionsW.Count >= 3 && W.Instance.Ammo > 1)
                    {
                        var minw = allMinionsW.FirstOrDefault();

                        if (minw != null)
                        {
                            W.Cast(minw.Position);
                        }
                    }

                    foreach (var enemy in allMinionsQ)
                    {
                        hit = 0;
                        Q.UpdateSourcePosition(Player.Position, Player.ServerPosition);

                        var prediction = Q.GetPrediction(enemy);

                        if (Q.IsReady() && Player.Distance(enemy.Position) <= Q.Range)
                        {
                            hit += allMinionsQ.Count(enemy2 => enemy2.Distance(prediction.CastPosition) < 200 && Q.IsReady());
                            if (hit >= min)
                            {
                                if (Q.IsReady())
                                {
                                    Q.Cast(prediction.CastPosition);
                                    return;
                                }
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 29
0
        private void Harass()
        {
            if (!ManaManager.HasMana("Harass"))
            {
                return;
            }

            var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical);

            if (!target.IsValidTarget(Q.Range))
            {
                return;
            }

            if (Menu.Item("UseWHarass", true).GetValue <bool>() && W.IsReady())
            {
                var wTarget = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Magical);

                var pred = xSaliceResurrected_Rework.Prediction.CommonPredEx.GetP(Player.ServerPosition, W, wTarget, 2.5f, true);

                if (Menu.Item("W_On_Cc", true).GetValue <bool>())
                {
                    foreach (var enemies in HeroManager.Enemies.Where(x => x.IsValidTarget(W.Range)))
                    {
                        if (enemies.HasBuffOfType(BuffType.Snare) || enemies.HasBuffOfType(BuffType.Stun) ||
                            enemies.HasBuffOfType(BuffType.Fear) || enemies.HasBuffOfType(BuffType.Suppression))
                        {
                            W.Cast(enemies);
                            break;
                        }
                    }
                }

                if (pred.Hitchance >= HitChance.VeryHigh)
                {
                    W.Cast(pred.CastPosition);
                }
            }

            if (Menu.Item("UseEHarass", true).GetValue <bool>() && E.IsReady())
            {
                var etarget = TargetSelector.GetTarget(E.Range + 425, TargetSelector.DamageType.Magical);

                if (etarget.IsValidTarget(E.Range + 425))
                {
                    var vec = Player.ServerPosition.Extend(etarget.ServerPosition, E.Range - 10);

                    if (vec.Distance(target.ServerPosition) < 425 && ShouldE(vec))
                    {
                        E.Cast(vec);
                        Utility.DelayAction.Add((int)E.Delay * 1000 + Game.Ping, () => Player.IssueOrder(GameObjectOrder.AttackUnit, etarget));
                    }
                }
            }

            if (Menu.Item("UseQHarass", true).GetValue <bool>() && Q.IsReady())
            {
                SpellCastManager.CastBasicSkillShot(Q, Q.Range, TargetSelector.DamageType.Magical,
                                                    HitChance.VeryHigh);
                SpellCastManager.CastBasicSkillShot(Q2, Q2.Range, TargetSelector.DamageType.Magical,
                                                    HitChance.VeryHigh);
            }
        }