コード例 #1
0
        private static void AfterAttack(AttackableUnit target, EventArgs args)
        {
            try
            {
                var enemy = target as Obj_AI_Base;
                if (enemy == null || !(target is AIHeroClient))
                {
                    return;
                }

                if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) ||
                    Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass))
                {
                    if (Player.LSCountEnemiesInRange(Player.AttackRange + Player.BoundingRadius + 100) != 0)
                    {
                        spells[Spells.Q].Cast();
                        ActiveModes.CastItems(enemy);
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
コード例 #2
0
        private static void AfterAttack(AttackableUnit unit, AttackableUnit target)
        {
            var targ = target as Obj_AI_Base;

            if (!unit.IsMe || targ == null)
            {
                return;
            }

            Orbwalker.SetOrbwalkingPoint(Vector3.Zero);
            var mode = Orbwalker.ActiveMode;

            if (mode.Equals(Orbwalking.OrbwalkingMode.None) || mode.Equals(Orbwalking.OrbwalkingMode.LastHit) || mode.Equals(Orbwalking.OrbwalkingMode.LaneClear))
            {
                return;
            }

            if (spells[Spells.Q].IsReady() && spells[Spells.Q].Cast())
            {
                return;
            }

            if (IsActive("Combo.Use.items"))
            {
                ActiveModes.CastItems(targ);
            }
        }
コード例 #3
0
        private static void AfterAttack(AttackableUnit target, EventArgs args)
        {
            try
            {
                var enemy = target as Obj_AI_Base;
                if (enemy == null || !(target is AIHeroClient))
                {
                    return;
                }

                if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) ||
                    Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass))
                {
                    if (target.IsValidTarget(spells[Spells.Q].Range))
                    {
                        spells[Spells.Q].Cast();
                    }
                }
                ActiveModes.CastItems(enemy);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
コード例 #4
0
        private static void AfterAttack(AttackableUnit unit, AttackableUnit target)
        {
            var enemy = target as Obj_AI_Base;

            if (!unit.IsMe || enemy == null || !(target is AIHeroClient))
            {
                return;
            }

            if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo ||
                Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed)
            {
                if (Player.CountEnemiesInRange(Player.AttackRange + Player.BoundingRadius + 100) != 0)
                {
                    spells[Spells.Q].Cast();
                    ActiveModes.CastItems(enemy);
                }
            }
        }
コード例 #5
0
        private static void BeforeAttack(Orbwalking.BeforeAttackEventArgs args)
        {
            var targ = args.Target as Obj_AI_Hero;

            if (!args.Unit.IsMe || targ == null)
            {
                return;
            }

            if (!spells[Spells.Q].IsReady() || !spells[Spells.Q].IsReady() || !Orbwalker.ActiveMode.Equals(Orbwalking.OrbwalkingMode.Combo))
            {
                return;
            }

            if (targ.Distance(Player) <= Orbwalking.GetRealAutoAttackRange(Player) - 10)
            {
                if (IsActive("Combo.Use.items"))
                {
                    ActiveModes.CastItems(targ);
                }
                spells[Spells.Q].Cast();
            }
        }
コード例 #6
0
        private static void OnUpdate(EventArgs args)
        {
            try
            {
                if (Player.IsDead)
                {
                    return;
                }

                if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
                {
                    ActiveModes.Combo();
                }

                if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear))
                {
                    ActiveModes.Laneclear();
                    ActiveModes.Jungleclear();
                }

                if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass))
                {
                    ActiveModes.Harass();
                }

                SwitchCombo();
                Heal();
                KillstealHandler();

                // E on Immobile targets
                if (MenuInit.getCheckBoxItem(MenuInit.miscMenu, "Misc.Root") && spells[Spells.E].IsReady())
                {
                    if (RengarR)
                    {
                        return;
                    }

                    var target = HeroManager.Enemies.FirstOrDefault(h => h.LSIsValidTarget(spells[Spells.E].Range));
                    if (target != null)
                    {
                        if (Ferocity != 5)
                        {
                            return;
                        }

                        spells[Spells.E].CastIfHitchanceEquals(target, EloBuddy.SDK.Enumerations.HitChance.Immobile);
                    }
                }


                if (MenuInit.getCheckBoxItem(MenuInit.betaMenu, "Beta.Cast.Q1") && MenuInit.getBoxItem(MenuInit.comboMenu, "Combo.Prio") == 2)
                {
                    if (Ferocity != 5)
                    {
                        return;
                    }

                    var searchrange = MenuInit.getSliderItem(MenuInit.betaMenu, "Beta.searchrange");
                    var target      = HeroManager.Enemies.FirstOrDefault(h => h.LSIsValidTarget(searchrange, false));
                    if (!target.LSIsValidTarget())
                    {
                        return;
                    }

                    // Check if Rengar is in ultimate
                    if (RengarR)
                    {
                        // Check if the player distance <= than the set search range
                        if (Player.LSDistance(target) <= MenuInit.getSliderItem(MenuInit.betaMenu, "Beta.searchrange.Q"))
                        {
                            // Cast Q with the set delay
                            Utility.DelayAction.Add(
                                MenuInit.getSliderItem(MenuInit.betaMenu, "Beta.Cast.Q1.Delay"),
                                () => spells[Spells.Q].Cast());
                        }
                    }
                }

                spells[Spells.R].Range = 1000 + spells[Spells.R].Level * 1000;
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
コード例 #7
0
        private static void OnDash(Obj_AI_Base sender, Dash.DashItem args)
        {
            try
            {
                if (!sender.IsMe || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
                {
                    return;
                }

                var target = TargetSelector.GetTarget(1500f, DamageType.Physical);
                if (!target.LSIsValidTarget())
                {
                    return;
                }

                if (!RengarR)
                {
                    ActiveModes.CastItems(target);
                }

                if (Ferocity == 5)
                {
                    switch (MenuInit.getBoxItem(MenuInit.comboMenu, "Combo.Prio"))
                    {
                    case 0:
                        if (spells[Spells.E].IsReady())
                        {
                            var targetE = TargetSelector.GetTarget(
                                spells[Spells.E].Range,
                                DamageType.Physical);
                            if (targetE.LSIsValidTarget())
                            {
                                var pred = spells[Spells.E].GetPrediction(targetE);
                                if (pred.HitChance >= EloBuddy.SDK.Enumerations.HitChance.High)
                                {
                                    LeagueSharp.Common.Utility.DelayAction.Add(300, () => spells[Spells.E].Cast(pred.CastPosition));
                                }
                            }
                        }
                        break;

                    case 2:
                        if (spells[Spells.Q].IsReady() &&
                            Player.LSCountEnemiesInRange(Player.AttackRange + Player.BoundingRadius + 100) != 0)
                        {
                            spells[Spells.Q].Cast();
                        }
                        break;
                    }
                }
                else
                {
                    if (MenuInit.getBoxItem(MenuInit.comboMenu, "Combo.Prio") != 0)
                    {
                        if (spells[Spells.E].IsReady())
                        {
                            var targetE = TargetSelector.GetTarget(
                                spells[Spells.E].Range,
                                DamageType.Physical);
                            if (targetE.LSIsValidTarget(spells[Spells.E].Range))
                            {
                                var pred = spells[Spells.E].GetPrediction(targetE);
                                if (pred.HitChance >= EloBuddy.SDK.Enumerations.HitChance.Medium)
                                {
                                    LeagueSharp.Common.Utility.DelayAction.Add(300, () => spells[Spells.E].Cast(pred.CastPosition));
                                }
                            }
                        }
                    }
                }

                switch (MenuInit.getBoxItem(MenuInit.comboMenu, "Combo.Prio"))
                {
                case 0:
                    if (spells[Spells.E].IsReady() && target.LSIsValidTarget(spells[Spells.E].Range))
                    {
                        var pred = spells[Spells.E].GetPrediction(target);
                        LeagueSharp.Common.Utility.DelayAction.Add(300, () => spells[Spells.E].Cast(pred.CastPosition));
                    }
                    break;

                case 2:
                    if (MenuInit.getCheckBoxItem(MenuInit.betaMenu, "Beta.Cast.Q1") && RengarR)
                    {
                        spells[Spells.Q].Cast();
                    }
                    break;
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
コード例 #8
0
        private static void OnUpdate(EventArgs args)
        {
            try
            {
                if (Player.IsDead)
                {
                    return;
                }

                if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
                {
                    ActiveModes.Combo();
                }

                if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear) ||
                    Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear))
                {
                    ActiveModes.Laneclear();
                    ActiveModes.Jungleclear();
                }

                if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass))
                {
                    ActiveModes.Harass();
                }

                SwitchCombo();
                SmiteCombo();
                Heal();
                KillstealHandler();

                if (MenuInit.getKeyBindItem(MenuInit.comboMenu, "Combo.TripleQ"))
                {
                    Orbwalker.OrbwalkTo(Game.CursorPos);

                    var target = TargetSelector.GetTarget(spells[Spells.E].Range, DamageType.Physical);
                    if (!target.IsValidTarget())
                    {
                        return;
                    }

                    if (RengarR)
                    {
                        if (Ferocity == 5 && Player.Distance(target) <= spells[Spells.Q].Range)
                        {
                            spells[Spells.Q].Cast();
                        }
                    }
                    else
                    {
                        spells[Spells.Q].Cast();
                    }

                    if (Ferocity <= 4)
                    {
                        if (Player.Distance(target) <= spells[Spells.Q].Range)
                        {
                            spells[Spells.Q].Cast();
                        }
                        if (Player.Distance(target) <= spells[Spells.W].Range)
                        {
                            spells[Spells.W].Cast();
                        }
                        if (Player.Distance(target) <= spells[Spells.E].Range)
                        {
                            spells[Spells.E].Cast(target);
                        }
                    }
                }

                if (MenuInit.getCheckBoxItem(MenuInit.betaMenu, "Beta.Cast.Q") &&
                    MenuInit.getBoxItem(MenuInit.comboMenu, "Combo.Prio") == 2)
                {
                    if (MenuInit.getCheckBoxItem(MenuInit.betaMenu, "Beta.Cast.Youmuu") && !Items.HasItem(3142))
                    {
                        return;
                    }

                    var searchrange = MenuInit.getSliderItem(MenuInit.betaMenu, "Beta.searchrange");
                    var target      =
                        ObjectManager.Get <AIHeroClient>()
                        .FirstOrDefault(h => h.IsEnemy && h.IsValidTarget(searchrange));
                    if (!target.IsValidTarget())
                    {
                        return;
                    }

                    if (Ferocity == 5 && RengarR)
                    {
                        if (target.Distance(Player.ServerPosition)
                            <= MenuInit.getSliderItem(MenuInit.betaMenu, "Beta.searchrange.Q"))
                        {
                            Utility.DelayAction.Add(
                                MenuInit.getSliderItem(MenuInit.betaMenu, "Beta.Cast.Q.Delay"),
                                () => spells[Spells.Q].Cast());
                        }
                    }
                }

                spells[Spells.R].Range = 1000 + spells[Spells.R].Level * 1000;
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
コード例 #9
0
        private static void OnDash(Obj_AI_Base sender, Dash.DashItem args)
        {
            try
            {
                if (!sender.IsMe)
                {
                    return;
                }

                var target = TargetSelector.GetTarget(1500f, DamageType.Physical);
                if (!target.IsValidTarget())
                {
                    return;
                }

                if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
                {
                    if (Ferocity == 5)
                    {
                        switch (MenuInit.getBoxItem(MenuInit.comboMenu, "Combo.Prio"))
                        {
                        case 0:
                            if (spells[Spells.E].IsReady() && target.IsValidTarget(spells[Spells.E].Range))
                            {
                                var pred = spells[Spells.E].GetPrediction(target);
                                spells[Spells.E].Cast(pred.CastPosition);
                            }
                            break;

                        case 2:
                            if (spells[Spells.Q].IsReady() && target.IsValidTarget(spells[Spells.Q].Range))
                            {
                                spells[Spells.Q].Cast();
                            }

                            if (target.IsValidTarget(spells[Spells.Q].Range))
                            {
                                Utility.DelayAction.Add(
                                    50,
                                    () =>
                                {
                                    if (target.IsValidTarget(spells[Spells.W].Range))
                                    {
                                        spells[Spells.W].Cast();
                                    }

                                    spells[Spells.E].Cast(target);
                                    ActiveModes.CastItems(target);
                                });
                            }

                            break;
                        }
                    }

                    switch (MenuInit.getBoxItem(MenuInit.comboMenu, "Combo.Prio"))
                    {
                    case 0:
                        if (spells[Spells.E].IsReady() && target.IsValidTarget(spells[Spells.E].Range))
                        {
                            var pred = spells[Spells.E].GetPrediction(target);
                            spells[Spells.E].Cast(pred.CastPosition);
                        }
                        break;

                    case 2:
                        if (MenuInit.getCheckBoxItem(MenuInit.betaMenu, "Beta.Cast.Q") && RengarR)
                        {
                            spells[Spells.Q].Cast();
                        }
                        break;
                    }

                    if (args.Duration - 100 - Game.Ping / 2 > 0)
                    {
                        Utility.DelayAction.Add(
                            args.Duration - 100 - Game.Ping / 2,
                            () => { ActiveModes.CastItems(target); });
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
コード例 #10
0
        private static void OnUpdate(EventArgs args)
        {
            if (Player.IsDead)
            {
                return;
            }

            switch (Orbwalker.ActiveMode)
            {
            case Orbwalking.OrbwalkingMode.Combo:
                ActiveModes.Combo();
                break;

            case Orbwalking.OrbwalkingMode.LaneClear:
                ActiveModes.Laneclear();
                ActiveModes.Jungleclear();
                break;

            case Orbwalking.OrbwalkingMode.Mixed:
                ActiveModes.Harass();
                break;
            }

            SwitchCombo();
            Heal();
            KillstealHandler();

            // E on Immobile targets
            if (IsActive("Misc.Root") && spells[Spells.E].IsReady())
            {
                if (!RengarR)
                {
                    var target = HeroManager.Enemies.FirstOrDefault(h => h.IsValidTarget(spells[Spells.E].Range));
                    if (target != null)
                    {
                        if (Ferocity == 5)
                        {
                            spells[Spells.E].CastIfHitchanceEquals(target, HitChance.Immobile);
                        }
                    }
                }
            }

            if (IsActive("Beta.Cast.Q1") && IsListActive("Combo.Prio").SelectedIndex == 2)
            {
                if (Ferocity != 5)
                {
                    return;
                }

                var searchrange = MenuInit.Menu.Item("Beta.searchrange").GetValue <Slider>().Value;
                var target      = HeroManager.Enemies.FirstOrDefault(h => h.IsValidTarget(searchrange, false));
                if (!target.IsValidTarget())
                {
                    return;
                }

                // Check if Rengar is in ultimate
                if (RengarR)
                {
                    // Check if the player distance <= than the set search range
                    if (Player.Distance(target) <= MenuInit.Menu.Item("Beta.searchrange.Q").GetValue <Slider>().Value)
                    {
                        // Cast Q with the set delay
                        LeagueSharp.Common.Utility.DelayAction.Add(
                            MenuInit.Menu.Item("Beta.Cast.Q1.Delay").GetValue <Slider>().Value,
                            () => spells[Spells.Q].Cast());
                    }
                }
            }

            spells[Spells.R].Range = 1000 + spells[Spells.R].Level * 1000;
        }
コード例 #11
0
        private static void OnDash(Obj_AI_Base sender, Dash.DashItem args)
        {
            if (!sender.IsMe)
            {
                return;
            }

            var target = TargetSelector.GetTarget(1500f, TargetSelector.DamageType.Physical);

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

            if (!RengarR)
            {
                ActiveModes.CastItems(target);
            }

            if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo ||
                Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed)
            {
                Orbwalking.Orbwalk(target ?? null, Game.CursorPos);
                if (Ferocity == 5)
                {
                    switch (IsListActive("Combo.Prio").SelectedIndex)
                    {
                    case 0:
                        if (spells[Spells.E].IsReady())
                        {
                            var targetE = TargetSelector.GetTarget(
                                spells[Spells.E].Range,
                                TargetSelector.DamageType.Physical);

                            if (targetE.IsValidTarget())
                            {
                                var pred = spells[Spells.E].GetPrediction(targetE);
                                if (pred.Hitchance >= HitChance.High)
                                {
                                    LeagueSharp.Common.Utility.DelayAction.Add(300, () => spells[Spells.E].Cast(target));
                                }
                            }
                        }
                        break;

                    case 2:
                        if (spells[Spells.Q].IsReady() &&
                            Player.CountEnemiesInRange(Player.AttackRange + Player.BoundingRadius + 100) != 0)
                        {
                            spells[Spells.Q].Cast();
                        }
                        break;
                    }
                }
                else
                {
                    if (IsListActive("Combo.Prio").SelectedIndex != 0)
                    {
                        if (spells[Spells.E].IsReady())
                        {
                            var targetE = TargetSelector.GetTarget(
                                spells[Spells.E].Range,
                                TargetSelector.DamageType.Physical);
                            if (targetE.IsValidTarget(spells[Spells.E].Range))
                            {
                                var pred = spells[Spells.E].GetPrediction(targetE);
                                if (pred.Hitchance >= HitChance.VeryHigh)
                                {
                                    LeagueSharp.Common.Utility.DelayAction.Add(300, () => spells[Spells.E].Cast(target));
                                }
                            }
                        }
                    }
                }

                switch (IsListActive("Combo.Prio").SelectedIndex)
                {
                case 0:
                    if (spells[Spells.E].IsReady() && target.IsValidTarget(spells[Spells.E].Range))
                    {
                        var pred = spells[Spells.E].GetPrediction(target);
                        LeagueSharp.Common.Utility.DelayAction.Add(300, () => spells[Spells.E].Cast(pred.CastPosition));
                    }
                    break;

                case 2:
                    if (IsActive("Beta.Cast.Q1") && RengarR)
                    {
                        spells[Spells.Q].Cast();
                    }
                    break;
                }
            }
        }
コード例 #12
0
        private static void OnUpdate(EventArgs args)
        {
            try
            {
                if (Player.IsDead)
                {
                    return;
                }

                if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
                {
                    ActiveModes.Combo();
                }

                if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear) ||
                    Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear))
                {
                    ActiveModes.Laneclear();
                    ActiveModes.Jungleclear();
                }

                if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass))
                {
                    ActiveModes.Harass();
                }

                SwitchCombo();
                SmiteCombo();
                Heal();
                KillstealHandler();

                if (MenuInit.getCheckBoxItem(MenuInit.betaMenu, "Beta.Cast.Q1") &&
                    MenuInit.getBoxItem(MenuInit.comboMenu, "Combo.Prio") == 2)
                {
                    if (Ferocity != 5)
                    {
                        return;
                    }

                    var searchrange = MenuInit.getSliderItem(MenuInit.betaMenu, "Beta.searchrange");
                    var target      = HeroManager.Enemies.FirstOrDefault(h => h.IsValidTarget(searchrange, false));

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

                    if (RengarR)
                    {
                        if (Player.LSDistance(target) <= MenuInit.getSliderItem(MenuInit.betaMenu, "Beta.searchrange.Q"))
                        {
                            Utility.DelayAction.Add(
                                MenuInit.getSliderItem(MenuInit.betaMenu, "Beta.Cast.Q1.Delay"),
                                () => spells[Spells.Q].Cast());
                        }
                    }
                }

                spells[Spells.R].Range = 1000 + spells[Spells.R].Level * 1000;
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }