Example #1
0
        private static void Mixed()
        {
            var target = TargetSelector.GetTarget(Program.E.Range, TargetSelector.DamageType.Physical);

            if (target == null && !Menus._menu.Item("Leplank.harass.toggle").GetValue <KeyBind>().Active)
            {
                LastHit();
            }

            if ((!BarrelsManager.savedBarrels.Any() ||
                 BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel.Distance(Program.Player) >
                 Program.E.Range) && Program.Q.IsInRange(target) && Program.Q.IsReady() &&
                Menus.GetBool("Leplank.harass.q") &&
                Program.Player.ManaPercent >= Menus.GetSlider("Leplank.harass.qmana"))
            {
                Program.Q.CastOnUnit(target);
            }
            var pred = Prediction.GetPrediction(target, 1f).CastPosition;

            if (BarrelsManager.savedBarrels.Any() && Program.Q.IsReady() && Program.E.IsReady() &&
                Program.Q.IsInRange(BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel) &&
                Menus.GetBool("Leplank.harass.extendedeq") && !Menus.GetBool("Leplank.misc.barrelmanager.edisabled") &&
                target != null && Program.Player.ManaPercent >= Menus.GetSlider("Leplank.harass.qmana") &&
                BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel.Health < 3)
            {
                Program.E.Cast(pred);
                ExplosionPrediction.castQ(BarrelsManager.closestToPosition(Program.Player.ServerPosition));
            }
        }
Example #2
0
        private static void Events()
        {
            #region Q KillSecure
            var ksQTarget = HeroManager.Enemies.FirstOrDefault(ks => ks.Health < DamageLib.GetQDamages(ks) && !ks.IsDead);
            if (ksQTarget != null && Menus.GetBool("Leplank.misc.events.qks"))
            {
                if (Program.Q.IsReady() && Program.Q.IsInRange(ksQTarget))
                {
                    Program.Q.CastOnUnit(ksQTarget);
                }
            }
            #endregion Q KillSecure

            #region Potions
            if (Menus.GetBool("Leplank.item.potion.enabled") && !Program.Player.InFountain())
            {
                if (Menus.GetBool("Leplank.item.potion.hp") &&
                    Program.Player.HealthPercent <= Menus.GetSlider("Leplank.item.potion.hphealth") &&
                    Items.HasItem(2003))
                {
                    if (!Program.Player.HasBuff("RegenerationPotion"))
                    {
                        Items.UseItem(2003);
                    }
                }
                if (Menus.GetBool("Leplank.item.potion.mp") &&
                    Program.Player.ManaPercent <= Menus.GetSlider("Leplank.item.potion.mana") &&
                    Items.HasItem(2004))
                {
                    if (!Program.Player.HasBuff("FlaskOfCrystalWater"))
                    {
                        Items.UseItem(2004);
                    }
                }
                if (Menus.GetBool("Leplank.item.potion.biscuit") &&
                    Program.Player.HealthPercent <= Menus.GetSlider("Leplank.item.potion.biscuithealth") &&
                    Items.HasItem(2010))
                {
                    if (!Program.Player.HasBuff("ItemMiniRegenPotion"))
                    {
                        Items.UseItem(2010);
                    }
                }
                if (Menus.GetBool("Leplank.item.potion.cryst") &&
                    ((Program.Player.HealthPercent <= Menus.GetSlider("Leplank.item.potion.crysthealth") &&
                      Program.Player.ManaPercent <= Menus.GetSlider("Leplank.item.potion.crystmana")) ||
                     Program.Player.HealthPercent <= Menus.GetSlider("Leplank.item.potion.crysthealth") / 2 ||
                     Program.Player.ManaPercent <= Menus.GetSlider("Leplank.menu.item.potion.crystmana") / 2) &&
                    Items.HasItem(2041))
                {
                    if (!Program.Player.HasBuff("ItemCrystalFlask"))
                    {
                        Items.UseItem(2041);
                    }
                }
            }
            #endregion Potions
        }
Example #3
0
        private static void LastHit()
        {
            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);
            }
        }
Example #4
0
        private static void WManager()
        {
            if (!Program.W.IsReady() || Program.Player.InFountain() || Program.Player.IsRecalling())
            {
                return;
            }
            #region Cleanser
            if (Menus.GetBool("Leplank.cleansermanager.enabled"))
            {
                if ((
                        (Program.Player.HasBuffOfType(BuffType.Charm) && Menus.GetBool("Leplank.cleansermanager.charm")) ||
                        (Program.Player.HasBuffOfType(BuffType.Flee) && Menus.GetBool("Leplank.cleansermanager.flee")) ||
                        (Program.Player.HasBuffOfType(BuffType.Polymorph) && Menus.GetBool("Leplank.cleansermanager.polymorph")) ||
                        (Program.Player.HasBuffOfType(BuffType.Snare) && Menus.GetBool("Leplank.cleansermanager.snare")) ||
                        (Program.Player.HasBuffOfType(BuffType.Stun) && Menus.GetBool("Leplank.cleansermanager.stun")) ||
                        (Program.Player.HasBuffOfType(BuffType.Taunt) && Menus.GetBool("Leplank.cleansermanager.taunt")) ||
                        (Program.Player.HasBuff("summonerexhaust") && Menus.GetBool("Leplank.cleansermanager.exhaust")) ||
                        (Program.Player.HasBuffOfType(BuffType.Suppression) && Menus.GetBool("Leplank.cleansermanager.suppression"))
                        ) && Program.Player.ManaPercent >= Menus.GetSlider("Leplank.cleansermanager.mana") && Program.Player.HealthPercent < Menus.GetSlider("Leplank.cleansermanager.health"))
                {
                    Utility.DelayAction.Add(Menus.GetSlider("Leplank.cleansermanager.delay") + Game.Ping, () =>
                    {
                        Program.W.Cast();
                    });
                }
            }
            #endregion Cleanser

            #region Healer
            if (Menus.GetBool("Leplank.misc.events.wheal") && Program.Player.HealthPercent <= Menus.GetSlider("Leplank.misc.events.healmin") &&
                Program.Player.ManaPercent >= Menus.GetSlider("Leplank.misc.events.healminmana"))
            {
                Utility.DelayAction.Add(50 + Game.Ping, () =>
                {
                    Program.W.Cast();
                }
                                        );
            }
            #endregion Healer
        }
Example #5
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));
                }
            }
        }
Example #6
0
        private static void Events()
        {
            #region Q KillSecure
            var ksQTarget = HeroManager.Enemies.FirstOrDefault(ks => ks.Health < DamageLib.GetQDamages(ks) && !ks.IsDead);
            if (ksQTarget != null && Menus.GetBool("Leplank.misc.events.qks"))
            {
                if (Program.Q.IsReady() && Program.Q.IsInRange(ksQTarget))
                {
                    Program.Q.CastOnUnit(ksQTarget);
                }
            }
            #endregion Q KillSecure
            #region Potions
            if (Menus.GetBool("Leplank.item.potion.enabled") && !Program.Player.InFountain() && !Program.Player.IsRecalling())
            {
                if (Menus.GetBool("Leplank.item.potion.hp") &&
                    Program.Player.HealthPercent <= Menus.GetSlider("Leplank.item.potion.hphealth") &&
                    Items.HasItem(2003))
                {
                    if (!Program.Player.HasBuff("RegenerationPotion"))
                    {
                        Items.UseItem(2003);
                    }
                }
                if (Menus.GetBool("Leplank.item.potion.refpot") &&
                    Program.Player.HealthPercent <= Menus.GetSlider("Leplank.item.potion.refpothealth") &&
                    Items.HasItem(2031))
                {
                    if (!Program.Player.HasBuff("ItemCrystalFlask") && Items.CanUseItem(2031))
                    {
                        Items.UseItem(2031);
                    }
                }
                if (Menus.GetBool("Leplank.item.potion.corrupt") &&
                    Program.Player.HealthPercent <= Menus.GetSlider("Leplank.item.potion.corrupthealth") &&
                    Items.HasItem(2033))
                {
                    if (!Program.Player.HasBuff("ItemDarkCrystalFlask") && Items.CanUseItem(2033))
                    {
                        Items.UseItem(2033);
                    }
                }
                if (Menus.GetBool("Leplank.item.potion.hunter") &&
                    Program.Player.HealthPercent <= Menus.GetSlider("Leplank.item.potion.hunterhealth") &&
                    Items.HasItem(2032))
                {
                    if (!Program.Player.HasBuff("ItemCrystalFlaskJungle") && Items.CanUseItem(2032))
                    {
                        Items.UseItem(2032);
                    }
                }

                if (Menus.GetBool("Leplank.item.potion.biscuit") &&
                    Program.Player.HealthPercent <= Menus.GetSlider("Leplank.item.potion.biscuithealth") &&
                    Items.HasItem(2010))
                {
                    if (!Program.Player.HasBuff("ItemMiniRegenPotion"))
                    {
                        Items.UseItem(2010);
                    }
                }
            }
            #endregion Potions
        }
Example #7
0
        // GOD DAMN F*****G ADVANCED COMBO SWAGG GOD LORD L O G I C, bitch please #kappa
        public static void BarrelLord()
        {
            #region BarrelLord

            var enemies = Program.Player.GetEnemiesInRange(Program.E.Range);
            var target  = TargetSelector.GetTarget(Program.E.Range, TargetSelector.DamageType.Physical);
            #region R
            if (Menus.GetBool("Leplank.combo.r") && Program.R.IsReady())
            {
                var rfocus =
                    HeroManager.Enemies.FirstOrDefault(
                        e =>
                        e.Health <DamageLib.GetRDamages(e) &&
                                  e.GetEnemiesInRange(300).Count> (Menus.GetSlider("Leplank.combo.rmin") - 1) &&
                        e.Distance(Program.Player) < 1200);
                if (rfocus != null)
                {
                    Program.R.Cast(Prediction.GetPrediction(rfocus, Program.R.Delay, 300, float.MaxValue).CastPosition);
                }
            }
            #endregion R

            switch (enemies.Count)
            {
            case 0:
                return;

            case 1:     // 1v1
                //QE when enemy is in E range & when the nearest barrel is in Q range and can be connected with a barrel where target can be hit
                if (Program.Q.IsReady() && Program.E.IsReady() && Program.E.Instance.Ammo == 1 && BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel.Distance(Program.Player) < Program.Q.Range && target != null && BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel.Distance(target) > Program.EexplosionRange)
                {
                    var pred = Prediction.GetPrediction(target, Program.E.Delay + Program.Q.Delay).CastPosition;
                    if (BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel.Distance(pred) <
                        Program.Econnection && Menus.GetBool("Leplank.combo.e") &&
                        !Menus.GetBool("Leplank.misc.barrelmanager.edisabled"))
                    {
                        ExplosionPrediction.castQ(BarrelsManager.closestToPosition(Program.Player.ServerPosition));
                        Program.E.Cast(pred);
                    }
                }


                // if (Program.E.Insance.Ammo == 1 && Program.E.Instance.CooldownExpires > (Program.Q.Cooldown/2))
                // {

                // }


                if (Menus.GetBool("Leplank.combo.q") && Program.E.Instance.Ammo == 0 && Program.Q.IsReady() &&
                    Program.Q.IsInRange(target) && Program.E.Instance.CooldownExpires > Program.Q.Instance.Cooldown)
                {
                    Program.Q.CastOnUnit(target);
                }
                break;

            case 2:

                break;

            case 3:

                break;

            case 4:

                break;

            case 5:

                break;
            }


            #endregion BarrelLord
        }
Example #8
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));
                }
            }
        }
Example #9
0
        public static void _OnDraw(EventArgs args)
        {
            if (Menus.GetBool("Leplank.drawing.enabled"))
            {
                #region SpellsDrawings
                if (Menus.GetBool("Leplank.drawing.onlyReady"))
                {
                    if (Menus.GetColorBool("Leplank.drawing.q") && (Program.Q.IsReady() && Program.Q.Level > 0))
                    {
                        Render.Circle.DrawCircle(Program.Player.Position, Program.Q.Range, Menus.GetColor("Leplank.drawing.q"));
                    }

                    if (Menus.GetColorBool("Leplank.drawing.e") && (Program.E.IsReady() && Program.E.Level > 0))
                    {
                        Render.Circle.DrawCircle(Program.Player.Position, Program.E.Range, Menus.GetColor("Leplank.drawing.e"));
                    }

                    if (Menus.GetColorBool("Leplank.drawing.w") && Program.W.IsReady() && Program.Player.HealthPercent < 95)
                    {
                        float Heal = new int[] { 50, 75, 100, 125, 150 }[Program.W.Level - 1] +
                        (Program.Player.MaxHealth - Program.Player.Health) * 0.15f + Program.Player.FlatMagicDamageMod * 0.9f;
                        float mod  = Math.Max(100f, Program.Player.Health + Heal) / Program.Player.MaxHealth;
                        float xPos = (float)((double)Program.Player.HPBarPosition.X + 36 + 103.0 * mod);
                        Drawing.DrawLine(
                            xPos, Program.Player.HPBarPosition.Y + 8, xPos, (float)((double)Program.Player.HPBarPosition.Y + 17), 2f,
                            Menus.GetColor("Leplank.drawing.w"));
                    }

                    if (Menus.GetColorBool("Leplank.drawing.r") && (Program.R.IsReady() && Program.R.Level > 0))
                    {
                        Render.Circle.DrawCircle(Game.CursorPos, Program.Rzone, Menus.GetColor("Leplank.drawing.r"));
                        if (Program.Player.HasBuff("GangplankRUpgrade2"))
                        {
                            Render.Circle.DrawCircle(Game.CursorPos, Program.RdeathDaughter, Menus.GetColor("Leplank.drawing.r"));
                        }
                    }
                }
                else
                {
                    if (Menus.GetColorBool("Leplank.drawing.q"))
                    {
                        Render.Circle.DrawCircle(Program.Player.Position, Program.Q.Range, Menus.GetColor("Leplank.drawing.q"));
                    }

                    if (Menus.GetColorBool("Leplank.drawing.e"))
                    {
                        Render.Circle.DrawCircle(Program.Player.Position, Program.E.Range, Menus.GetColor("Leplank.drawing.e"));
                    }

                    if (Menus.GetColorBool("Leplank.drawing.w") && Program.Player.HealthPercent < 95)
                    {
                        float Heal = new int[] { 50, 75, 100, 125, 150 }[Program.W.Level - 1] +
                        (Program.Player.MaxHealth - Program.Player.Health) * 0.15f + Program.Player.FlatMagicDamageMod * 0.9f;
                        float mod  = Math.Max(100f, Program.Player.Health + Heal) / Program.Player.MaxHealth;
                        float xPos = (float)((double)Program.Player.HPBarPosition.X + 36 + 103.0 * mod);
                        Drawing.DrawLine(
                            xPos, Program.Player.HPBarPosition.Y + 8, xPos, (float)((double)Program.Player.HPBarPosition.Y + 17), 2f,
                            Menus.GetColor("Leplank.drawing.w"));
                    }

                    if (Menus.GetColorBool("Leplank.drawing.r"))
                    {
                        Render.Circle.DrawCircle(Game.CursorPos, Program.Rzone, Menus.GetColor("Leplank.drawing.r"));
                        if (Program.Player.HasBuff("GangplankRUpgrade2"))
                        {
                            Render.Circle.DrawCircle(Game.CursorPos, Program.RdeathDaughter, Menus.GetColor("Leplank.drawing.r"));
                        }
                    }
                }
                #endregion SpellsDrawings

                #region barrelsAssistantTM
                if (Menus.GetBool("Leplank.assistant.enabled"))
                {
                    //Draw E zone
                    if (Menus.GetColorBool("Leplank.assistant.DrawEZone") && Program.Player.Distance(Game.CursorPos) <= Menus.GetSlider("Leplank.assistant.MaxRange") && !Assisting)
                    {
                        Render.Circle.DrawCircle(Game.CursorPos, Program.Ezone, Menus.GetColor("Leplank.assistant.DrawEZone"), Menus.GetSlider("Leplank.assistant.Thickness"));
                    }

                    //Connection Circle helper
                    if (Menus.GetBool("Leplank.assistant.DrawECircle") && Program.Player.Distance(Game.CursorPos) <= Menus.GetSlider("Leplank.assistant.MaxRange") && Game.CursorPos.Distance(BarrelsManager.closestToPosition(Game.CursorPos).barrel.Position) <= Program.Econnection + 200 && BarrelsManager.savedBarrels.Count > 0)
                    {
                        Assisting = true;
                        if (BarrelsManager.closestToPosition(Game.CursorPos).barrel.Distance(Game.CursorPos) <= Program.Econnection)
                        {
                            Render.Circle.DrawCircle(Game.CursorPos, Program.Ezone, Color.LawnGreen, Menus.GetSlider("Leplank.assistant.Thickness"));
                        }
                        else
                        {
                            Render.Circle.DrawCircle(Game.CursorPos, Program.Ezone, Color.Red, Menus.GetSlider("Leplank.assistant.Thickness"));
                        }
                    }
                    else
                    {
                        Assisting = false;
                    }

                    //Connection Line helper
                    if (Menus.GetBool("Leplank.assistant.DrawEConnection") && Program.Player.Distance(Game.CursorPos) <= Menus.GetSlider("Leplank.assistant.MaxRange") && Game.CursorPos.Distance(BarrelsManager.closestToPosition(Game.CursorPos).barrel.Position) <= Program.Econnection + 200 && BarrelsManager.savedBarrels.Count > 0)
                    {
                        Assisting = true;
                        if (BarrelsManager.closestToPosition(Game.CursorPos).barrel.Distance(Game.CursorPos) <= Program.Econnection)
                        {
                            Drawing.DrawLine(Drawing.WorldToScreen(Game.CursorPos), Drawing.WorldToScreen(BarrelsManager.closestToPosition(Game.CursorPos).barrel.Position), Menus.GetSlider("Leplank.assistant.Thickness"), Color.LawnGreen);
                        }
                        else
                        {
                            Drawing.DrawLine(Drawing.WorldToScreen(Game.CursorPos), Drawing.WorldToScreen(BarrelsManager.closestToPosition(Game.CursorPos).barrel.Position), Menus.GetSlider("Leplank.assistant.Thickness"), Color.Red);
                        }
                    }

                    //E extension
                    if (Menus.GetColorBool("Leplank.assistant.DrawExtended") && Program.Player.Distance(Game.CursorPos) <= Menus.GetSlider("Leplank.assistant.MaxRange") && Game.CursorPos.Distance(BarrelsManager.closestToPosition(Game.CursorPos).barrel.Position) <= Program.Econnection + 200 && BarrelsManager.savedBarrels.Count > 0)
                    {
                        Render.Circle.DrawCircle(BarrelsManager.closestToPosition(Game.CursorPos).barrel.Position, Program.Econnection + Program.Ezone, Menus.GetColor("Leplank.assistant.DrawExtended"), Menus.GetSlider("Leplank.assistant.Thickness"));
                    }

                    //Re-draw barrels connections
                    if (Menus.GetColorBool("Leplank.assistant.DrawEBConnection") && BarrelsManager.barrelChains.Count > 0 && BarrelsManager.savedBarrels.Count > 0)
                    {
                        for (int i = 0; i < BarrelsManager.barrelChains.Count; i++)
                        {
                            if (BarrelsManager.barrelChains[i].Count > 1)
                            {
                                for (int k = 0; k < BarrelsManager.barrelChains[i].Count; k++)
                                {
                                    Render.Circle.DrawCircle(BarrelsManager.barrelChains[i][k].barrel.Position, Program.Ezone, Menus.GetColor("Leplank.assistant.DrawEBConnection"));
                                }
                            }
                        }
                    }
                }

                #endregion barrelsAssistantTM
            }
        }
Example #10
0
        //to rework, fcked up with new common update :(
        public static void BarrelLord()
        {
            #region BarrelLord

            var enemies = HeroManager.Enemies.Where(e => e.Distance(Program.Player) < Program.E.Range && !e.IsDead).ToList();
            var target  = TargetSelector.GetTarget(Program.E.Range, TargetSelector.DamageType.Physical);
            var bar     = BarrelsManager.closestToPosition(Program.Player.ServerPosition);
            if (target == null)
            {
                return;
            }

            //ok
            #region R
            if (Menus.GetBool("Leplank.combo.r") && Program.R.IsReady())
            {
                var rfocus =
                    HeroManager.Enemies.FirstOrDefault(e => e.Health < DamageLib.GetRDamages(e) * 2 && e.Distance(Program.Player) <= 2000 && (e.GetAlliesInRange(850).Count > 0));
                if (rfocus != null)
                {
                    Program.R.CastIfWillHit(rfocus, Menus.GetSlider("Leplank.combo.rmin"));
                }
            }
            #endregion R
            #region Qks
            var ksQTarget = HeroManager.Enemies.FirstOrDefault(ks => ks.Health < DamageLib.GetQDamages(ks) && !ks.IsDead);
            if (ksQTarget != null && Menus.GetBool("Leplank.misc.events.qks"))
            {
                if (Program.Q.IsReady() && Program.Q.IsInRange(ksQTarget))
                {
                    Program.Q.CastOnUnit(ksQTarget);
                }
            }
            #endregion Qks

            //itemsok
            #region items
            if (Menus.GetBool("Leplank.item.hydra") && target != null && Items.HasItem(3074))
            {
                if (!Orbwalking.CanAttack() && Items.CanUseItem(3074) && Program.Player.Distance(target) < LeagueSharp.Common.Data.ItemData.Ravenous_Hydra_Melee_Only.GetItem().Range)
                {
                    Utility.DelayAction.Add(30, () =>
                    {
                        Items.UseItem(3074);
                    }
                                            );
                }
            }
            if (Menus.GetBool("Leplank.item.tiamat") && target != null && Items.HasItem(3077))
            {
                if (!Orbwalking.CanAttack() && Items.CanUseItem(3077) && Program.Player.Distance(target) < LeagueSharp.Common.Data.ItemData.Tiamat_Melee_Only.GetItem().Range)
                {
                    Utility.DelayAction.Add(30, () =>
                    {
                        Items.UseItem(3077);
                    }
                                            );
                }
            }
            if (Menus.GetBool("Leplank.item.youmuu") && target != null && Items.HasItem(3142))
            {
                if (Items.CanUseItem(3142) && Program.Player.Distance(target) < Program.Player.AttackRange)
                {
                    Items.UseItem(3142);
                }
            }
            #endregion items

            if (Program.E.IsReady() && (!BarrelsManager.savedBarrels.Any() || bar.barrel.Distance(Program.Player) > Program.E.Range) && target != null)
            {
                if (Menus.GetBool("Leplank.combo.e") && !Menus.GetBool("Leplank.misc.barrelmanager.edisabled"))
                {
                    Program.E.Cast(Prediction.GetPrediction(target, 1f).CastPosition);
                }
            }

            var coolbar = BarrelsManager.savedBarrels.FirstOrDefault(b => b.barrel.GetEnemiesInRange(Program.EexplosionRange - 20).Count > 0 && b.barrel.Health < 3);
            if (Menus.GetBool("Leplank.combo.q") && coolbar != null)
            {
                if (Program.Q.IsReady() && Program.Q.IsInRange(coolbar.barrel) && target != null)
                {
                    ExplosionPrediction.castQ(coolbar);
                }
            }

            //aabarrelsok
            if (Orbwalking.CanAttack() && coolbar != null)
            {
                if ((!Program.Q.IsReady() || Menus.GetBool("Leplank.combo.q")) &&
                    coolbar.barrel.Distance(Program.Player) <= Program.Player.AttackRange && target != null)
                {
                    ExplosionPrediction.autoAttack(coolbar);
                }
            }

            var focusbar = BarrelsManager.savedBarrels[BarrelsManager.savedBarrels.Count - 1];
            //QE when enemy is in E range & when the nearest barrel is in Q range and can be connected with a barrel where target can be hit
            if (Program.Q.IsReady() && Program.E.IsReady() && focusbar.barrel.Distance(Program.Player) < Program.Q.Range && target != null && focusbar.barrel.Distance(target) > Program.EexplosionRange)
            {
                var pred = Prediction.GetPrediction(target, 1f).CastPosition;

                if (focusbar.barrel.Distance(pred) <= Program.Econnection &&
                    Menus.GetBool("Leplank.combo.e") && Menus.GetBool("Leplank.combo.q") &&
                    !Menus.GetBool("Leplank.misc.barrelmanager.edisabled") &&
                    focusbar.barrel.Health < 3)
                {
                    ExplosionPrediction.castQ(BarrelsManager.savedBarrels[BarrelsManager.savedBarrels.Count - 1]);

                    Utility.DelayAction.Add((int)(Program.Q.Delay), () =>
                    {
                        Program.E.Cast(BarrelsManager.correctThisPosition(Prediction.GetPrediction(target, 1f).CastPosition.To2D(), focusbar));
                    }
                                            );
                }
            }
            #region Q on enemy
            if (Menus.GetBool("Leplank.combo.q") && (Program.E.Instance.Ammo == 0 || !Program.E.IsReady()) && Program.Q.IsReady() &&
                Program.Q.IsInRange(target) &&
                (!BarrelsManager.savedBarrels.Any() || bar.barrel.Distance(Program.Player.ServerPosition) > 1200))
            {
                Program.Q.CastOnUnit(target);
            }
            #endregion Q on enemy
            #region R
            if (Menus.GetBool("Leplank.combo.r") && Program.R.IsReady() && Menus.GetSlider("Leplank.combo.rmin") == 1)
            {
                if (target.HealthPercent < 50)
                {
                    if (target.IsMoving)
                    {
                        Program.R.Cast(Prediction.GetPrediction(target, 1f).CastPosition);
                    }
                    else
                    {
                        Program.R.Cast(target.Position);
                    }
                }
            }
            #endregion R


            #endregion BarrelLord
        }