예제 #1
0
        public static void _Orbwalking(EventArgs args)
        {
            if (Program.Player.IsDead)
            {
                return;
            }
            #region ks notif
            if (Menus.GetBool("Leplank.misc.rksnotif") && Program.R.IsReady())
            {
                var rkstarget = HeroManager.Enemies.Where(k => k.Health < (DamageLib.GetRDamages(k) / 2) && !k.IsDead).ToList();
                var kappa     = 0;
                foreach (var ks in rkstarget)
                {
                    kappa++;
                    var pos = Drawing.WorldToScreen(Program.Player.Position);
                    Drawing.DrawText(pos.X - Drawing.GetTextExtent(ks.ChampionName + " KILLABLE WITH R").Width, kappa * 25 + pos.Y - Drawing.GetTextExtent(ks.ChampionName + " KILLABLE WITH R").Height, Color.DarkOrange, ks.ChampionName + " KILLABLE WITH R");
                }
            }
            #endregion ks notif
            #region Orbwalker modes
            var activeOrbwalker = Menus._orbwalker.ActiveMode;
            switch (activeOrbwalker)
            {
            case Orbwalking.OrbwalkingMode.Combo:
                Combo();
                break;

            case Orbwalking.OrbwalkingMode.LaneClear:
                WaveClear();
                break;

            case Orbwalking.OrbwalkingMode.Mixed:
                Mixed();
                break;

            case Orbwalking.OrbwalkingMode.LastHit:
                LastHit();
                break;

            case Orbwalking.OrbwalkingMode.None:
                break;
            }
            #endregion Orbwalker modes

            if (Menus._menu.Item("Leplank.misc.events.qlhtoggle").GetValue <KeyBind>().Active) // toggle
            {
                LastHit();
            }
            WManager();
            Events();
        }
예제 #2
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
        }
예제 #3
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
        }