Exemple #1
0
        private static void WaveClear()
        {
            var minionswc =
                MinionManager.GetMinions(Program.Q.Range, MinionTypes.All, MinionTeam.NotAlly)
                .Where(mwc => mwc.SkinName != "GangplankBarrel")
                .OrderByDescending(mlh => mlh.Distance(Program.Player)).ToList();

            if (!minionswc.Any())
            {
                return;
            }
            #region Items
            // Items
            if (Menus.GetBool("Leplank.item.hydra") &&
                (MinionManager.GetMinions(ObjectManager.Player.ServerPosition, LeagueSharp.Common.Data.ItemData.Ravenous_Hydra_Melee_Only.GetItem().Range).Count > 2 ||
                 MinionManager.GetMinions(ObjectManager.Player.ServerPosition, LeagueSharp.Common.Data.ItemData.Ravenous_Hydra_Melee_Only.GetItem().Range, MinionTypes.All, MinionTeam.Neutral)
                 .Count >= 1) && Items.HasItem(3074) && Items.CanUseItem(3074) && !Orbwalking.CanAttack())
            {
                Items.UseItem(3074); //hydra, range of active = 400
            }
            if (Menus.GetBool("Leplank.item.tiamat") &&
                (MinionManager.GetMinions(ObjectManager.Player.ServerPosition, LeagueSharp.Common.Data.ItemData.Tiamat_Melee_Only.GetItem().Range).Count > 2 ||
                 MinionManager.GetMinions(ObjectManager.Player.ServerPosition, LeagueSharp.Common.Data.ItemData.Tiamat_Melee_Only.GetItem().Range, MinionTypes.All, MinionTeam.Neutral)
                 .Count >= 1) && Items.HasItem(3077) && Items.CanUseItem(3077) && !Orbwalking.CanAttack())
            {
                Items.UseItem(3077);
            }
            #endregion Items
            if (Menus.GetBool("Leplank.misc.barrelmanager.edisabled") == false &&
                Menus.GetBool("Leplank.lc.e") && Program.E.IsReady())
            {
                var posE = Program.E.GetCircularFarmLocation(minionswc, Program.EexplosionRange);
                if (posE.MinionsHit >= Menus.GetSlider("Leplank.lc.emin") &&
                    (!BarrelsManager.savedBarrels.Any() ||
                     BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel.Distance(Program.Player) > Program.Q.Range) &&
                    Program.E.Instance.Ammo > Menus.GetSlider("Leplank.misc.barrelmanager.estacks"))
                {
                    Program.E.Cast(posE.Position);
                }
            }

            if (BarrelsManager.savedBarrels.Any() ||
                BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel.Distance(Program.Player) <
                Program.Q.Range + 100) // Extra range
            {
                var minionsInERange =
                    MinionManager.GetMinions(
                        BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel.Position,
                        Program.EexplosionRange, MinionTypes.All, MinionTeam.NotAlly);

                if (Menus.GetBool("Leplank.lc.qone") &&
                    Program.Q.IsInRange(BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel) &&
                    Program.Q.IsReady() && Program.Player.ManaPercent >= Menus.GetSlider("Leplank.lc.qonemana"))
                {
                    if ((Program.Q.Level >= 3 &&
                         minionsInERange.Where(m => m.Health < DamageLib.GetEDamages(m, true)).ToList().Count >= 3) ||
                        (Program.Q.Level == 2 &&
                         minionsInERange.Where(m => m.Health < DamageLib.GetEDamages(m, true)).ToList().Count >= 2) ||
                        (Program.Q.Level == 1 &&
                         minionsInERange.Where(m => m.Health < DamageLib.GetEDamages(m, true)).ToList().Any()) ||
                        (Program.Q.Level == 1 && minionsInERange.Count < 2))
                    {
                        ExplosionPrediction.castQ(BarrelsManager.closestToPosition(Program.Player.ServerPosition));
                    }
                }
                if ((!Program.Q.IsReady() || !Menus.GetBool("Leplank.lc.qone") || Program.Player.ManaPercent < Menus.GetSlider("Leplank.lc.qonemana")) &&
                    Program.Player.Distance(BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel) <
                    Program.Player.AttackRange)
                {
                    ExplosionPrediction.autoAttack(BarrelsManager.closestToPosition(Program.Player.ServerPosition));
                }
            }
        }
Exemple #2
0
        private static void WaveClear()
        {
            var minionswc =
                MinionManager.GetMinions(Program.Q.Range, MinionTypes.All, MinionTeam.NotAlly)
                .Where(mwc => mwc.SkinName != "GangplankBarrel")
                .OrderByDescending(mlh => mlh.Distance(Program.Player)).ToList();

            if (!minionswc.Any())
            {
                return;
            }

            // Items
            if (Menus.GetBool("Leplank.item.hydra") &&
                (MinionManager.GetMinions(ObjectManager.Player.ServerPosition, 390).Count > 2 ||
                 MinionManager.GetMinions(ObjectManager.Player.ServerPosition, 390, MinionTypes.All, MinionTeam.Neutral)
                 .Count >= 1) &&
                Items.HasItem(3074) &&
                Items.CanUseItem(3074))
            {
                Items.UseItem(3074); //hydra, range of active = 400
            }
            if (Menus.GetBool("Leplank.item.tiamat") &&
                (MinionManager.GetMinions(ObjectManager.Player.ServerPosition, 390).Count > 2 ||
                 MinionManager.GetMinions(ObjectManager.Player.ServerPosition, 390, MinionTypes.All, MinionTeam.Neutral)
                 .Count >= 1) &&
                Items.HasItem(3077) &&
                Items.CanUseItem(3077))
            {
                Items.UseItem(3077); //tiamat, range of active = 400
            }
            #region LasthitquntillE
            if (Program.E.Level < 1 && Menus.GetBool("Leplank.lh.q") &&
                Program.Player.ManaPercent >= Menus.GetSlider("Leplank.lh.qmana") &&
                Program.Q.IsReady())
            {
                var minionlhtarget =
                    MinionManager.GetMinions(Program.Q.Range, MinionTypes.All, MinionTeam.NotAlly)
                    .Where(
                        mlh =>
                        mlh.SkinName != "GangplankBarrel" &&                // It makes the program check if it's not a barrel because Powder Kegs
                        mlh.Health < DamageLib.GetQDamages(mlh))            // are considered as Obj ai minions so it may cause some bugs if not checked
                    .OrderByDescending(mlh => mlh.Distance(Program.Player)) // Prioritize minions that's are far from the player
                    .FirstOrDefault();
                if (Menus.GetBool("Leplank.lh.q") && Program.Player.ManaPercent >= Menus.GetSlider("Leplank.lh.qmana") &&
                    Program.Q.IsReady() && minionlhtarget != null) // Check config
                {
                    Program.Q.CastOnUnit(minionlhtarget);
                }
            }
            #endregion LasthituntillE
            if (Menus.GetBool("Leplank.misc.barrelmanager.edisabled") == false &&
                Menus.GetBool("Leplank.lc.e") && Program.E.IsReady())
            {
                var posE = Program.E.GetCircularFarmLocation(minionswc, Program.EexplosionRange);
                if (posE.MinionsHit >= Menus.GetSlider("Leplank.lc.emin") &&
                    (!BarrelsManager.savedBarrels.Any() ||
                     BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel.Distance(Program.Player) > Program.Q.Range) &&
                    Program.E.Instance.Ammo > Menus.GetSlider("Leplank.misc.barrelmanager.estacks"))
                {
                    Program.E.Cast(posE.Position);
                }
            }

            if (BarrelsManager.savedBarrels.Any() ||
                BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel.Distance(Program.Player) <
                Program.Q.Range + 100) // Extra range
            {
                var minionsInERange =
                    MinionManager.GetMinions(
                        BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel.Position,
                        Program.EexplosionRange, MinionTypes.All, MinionTeam.NotAlly);

                if (Menus.GetBool("Leplank.lc.qone") &&
                    Program.Q.IsInRange(BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel) &&
                    Program.Q.IsReady() && Program.Player.ManaPercent >= Menus.GetSlider("Leplank.lc.qonemana"))
                {
                    if ((Program.Q.Level >= 3 &&
                         minionsInERange.Where(m => m.Health < DamageLib.GetEDamages(m, true)).ToList().Count >= 3) ||
                        (Program.Q.Level == 2 &&
                         minionsInERange.Where(m => m.Health < DamageLib.GetEDamages(m, true)).ToList().Count >= 2) ||
                        (Program.Q.Level == 1 &&
                         minionsInERange.Where(m => m.Health < DamageLib.GetEDamages(m, true)).ToList().Any()) ||
                        (Program.Q.Level == 1 && minionsInERange.Count < 2))
                    {
                        ExplosionPrediction.castQ(BarrelsManager.closestToPosition(Program.Player.ServerPosition));
                    }
                }
                if ((!Program.Q.IsReady() || !Menus.GetBool("Leplank.lc.qone") || Program.Player.ManaPercent < Menus.GetSlider("Leplank.lc.qonemana")) &&
                    Program.Player.Distance(BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel) <
                    Program.Player.AttackRange)
                {
                    ExplosionPrediction.autoAttack(BarrelsManager.closestToPosition(Program.Player.ServerPosition));
                }
            }
        }