public static void OnGapcloser(AIHeroClient sender, Gapcloser.GapcloserArgs args)
 {
     if (Heroes.Player.Distance(args.EndPosition) < 400)
     {
         Tumble.Cast(Heroes.Player.Position.Extend(args.EndPosition, -300));
     }
 }
Example #2
0
        public static void BeforeAttack(Orbwalking.BeforeAttackEventArgs args)
        {
            if (args.Unit.IsMe && Program.Q.IsReady() && Program.ComboMenu.Item("QCombo").GetValue <bool>())
            {
                if (args.Target.IsValid <AIHeroClient>())
                {
                    var target = (AIHeroClient)args.Target;
                    if (Program.ComboMenu.Item("RCombo").GetValue <bool>() && Program.R.IsReady() && Program.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
                    {
                        if (!target.UnderTurret(true))
                        {
                            Program.R.Cast();
                        }
                    }
                    if (target.IsMelee && target.IsFacing(Heroes.Player))
                    {
                        if (target.Distance(Heroes.Player.Position) < 325)
                        {
                            var tumblePosition = target.GetTumblePos();
                            args.Process = false;
                            Tumble.Cast(tumblePosition);
                        }
                    }

                    var closestJ4Wall = ObjectManager.Get <AIMinionClient>().FirstOrDefault(m => m.CharacterName == "jarvanivwall" && ObjectManager.Player.Position.Distance(m.Position) < 100);
                    if (closestJ4Wall != null)
                    {
                        args.Process = false;
                        Program.Q.Cast(ObjectManager.Player.Position.Extend(closestJ4Wall.Position, 300));
                    }
                }
            }
        }
Example #3
0
 public static void BeforeAttack(Orbwalker.BeforeAttackEventArgs args)
 {
     if (args.Unit.IsMe && Program.Q.IsReady() && Program.ComboMenu.Item("QCombo").GetValue <bool>())
     {
         if (args.Target.IsValid <Obj_AI_Hero>())
         {
             var target = (Obj_AI_Hero)args.Target;
             if (Program.ComboMenu.Item("RCombo").GetValue <bool>() && Program.R.IsReady() &&
                 Program.Orbwalker.ActiveMode == MyOrbwalker.OrbwalkingMode.Combo)
             {
                 if (!target.UnderTurret(true))
                 {
                     Program.R.Cast();
                 }
             }
             if (target.IsMelee && target.IsFacing(Heroes.Player))
             {
                 if (target.Distance(Heroes.Player.ServerPosition) < 325)
                 {
                     var tumblePosition = target.GetTumblePos();
                     args.Process = false;
                     Tumble.Cast(tumblePosition);
                 }
             }
         }
     }
 }
Example #4
0
        public static void AfterAttack(AttackableUnit sender, AttackableUnit target)
        {
            if (sender.IsMe && target.IsValid <Obj_AI_Hero>())
            {
                var tg = target as Obj_AI_Hero;
                if (tg == null)
                {
                    return;
                }
                var mode           = Program.ComboMenu.Item("QMode").GetValue <StringList>().SelectedValue;
                var tumblePosition = Game.CursorPos;
                switch (mode)
                {
                case "PRADA":
                    tumblePosition = tg.GetTumblePos();
                    break;

                default:
                    tumblePosition = Game.CursorPos;
                    break;
                }
                if (Program.Orbwalker.ActiveMode == MyOrbwalker.OrbwalkingMode.Combo)
                {
                    Tumble.Cast(tumblePosition);
                    return;
                }
            }
        }
 public static void OnGapcloser(ActiveGapcloser gapcloser)
 {
     if (Program.EscapeMenu.SubMenu("antigapcloser").Item("antigc" + gapcloser.Sender.CharacterName).GetValue <bool>())
     {
         if (Heroes.Player.Distance(gapcloser.End) < 425)
         {
             Tumble.Cast(Heroes.Player.Position.Extend(gapcloser.End, -300));
         }
     }
 }
        public static void BeforeAttack(object sender, OrbwalkerActionArgs args)
        {
            if (args.Type != OrbwalkerType.BeforeAttack)
            {
                return;
            }
            if (Program.Q.IsReady() && Program.MainMenu.GetMenuBool("Combo Settings", "QCombo") == true)
            {
                if (args.Target.IsValid)
                {
                    var targets = TargetSelector.GetTargets(700);
                    if (targets.Count() > 0)
                    {
                        foreach (var target in targets)
                        {
                            if (target != null)
                            {
                                if (Program.MainMenu.GetMenuBool("Combo Settings", "RCombo") && Program.R.IsReady() &&
                                    Orbwalker.ActiveMode == OrbwalkerMode.Combo)
                                {
                                    Program.R.Cast();
                                }
                                if (target.IsMelee && target.IsFacing(Heroes.Player))
                                {
                                    if (target.Distance(Heroes.Player.Position) < 325)
                                    {
                                        var tumblePosition = target.GetTumblePos();
                                        args.Process = false;
                                        Tumble.Cast(tumblePosition);
                                    }
                                }

                                var closestJ4Wall = ObjectManager.Get <AIMinionClient>().FirstOrDefault(m =>
                                                                                                        m.CharacterName == "jarvanivwall" && ObjectManager.Player.Position.Distance(m.Position) < 100);
                                if (closestJ4Wall != null)
                                {
                                    args.Process = false;
                                    Program.Q.Cast(ObjectManager.Player.Position.Extend(closestJ4Wall.Position, 300));
                                }
                            }
                        }
                    }
                }
            }
        }
Example #7
0
 private static void DragWallTumble()
 {
     if (Heroes.Player.Distance(_dragPreV3) < 100)
     {
         Heroes.Player.IssueOrder(GameObjectOrder.MoveTo, _dragPreV3.Randomize(0, 1));
     }
     if (Heroes.Player.Distance(_dragPreV3) < 5)
     {
         Program.Orbwalker.SetMovement(false);
         var tumblePos = _dragAftV3;
         Tumble.Cast(tumblePos);
         Utility.DelayAction.Add(100 + Game.Ping / 2, () =>
         {
             Heroes.Player.IssueOrder(GameObjectOrder.MoveTo, _dragAftV3.Randomize(0, 1));
             Program.Orbwalker.SetMovement(true);
         });
     }
 }
Example #8
0
 public static void BeforeAttackVHRPlugin(Orbwalking.BeforeAttackEventArgs args)
 {
     if (args.Unit.IsMe && Program.Q.IsReady() && PRADAHijacker.HijackedMenu.Item("usepradaq").GetValue <bool>())
     {
         if (args.Target.IsValid <Obj_AI_Hero>())
         {
             var target = (Obj_AI_Hero)args.Target;
             if (target.IsMelee && target.IsFacing(Heroes.Player))
             {
                 if (target.Distance(Heroes.Player.ServerPosition) < 325)
                 {
                     var tumblePosition = target.GetTumblePos();
                     args.Process = false;
                     Tumble.Cast(tumblePosition);
                 }
             }
         }
     }
 }
        public static void AfterAttack(AttackableUnit sender, AttackableUnit target)
        {
            if (!Program.Q.IsReady())
            {
                return;
            }
            if (sender.IsMe && target.IsValid <Obj_AI_Hero>() && (Program.Orbwalker.ActiveMode == MyOrbwalker.OrbwalkingMode.Combo || !Program.ComboMenu.Item("OnlyQinCombo").GetValue <bool>()))
            {
                var tg = target as Obj_AI_Hero;
                if (tg == null)
                {
                    return;
                }
                var mode           = Program.ComboMenu.Item("QMode").GetValue <StringList>().SelectedValue;
                var tumblePosition = Game.CursorPos;
                switch (mode)
                {
                case "PRADA":
                    tumblePosition = tg.GetTumblePos();
                    break;

                default:
                    tumblePosition = Game.CursorPos;
                    break;
                }
                Tumble.Cast(tumblePosition);
            }
            var m = target as Obj_AI_Minion;

            if (m != null && Program.LaneClearMenu.Item("QLastHit").GetValue <bool>() &&
                ObjectManager.Player.ManaPercent >=
                Program.LaneClearMenu.Item("QLastHitMana").GetValue <Slider>().Value&&
                Program.Orbwalker.ActiveMode == MyOrbwalker.OrbwalkingMode.LastHit ||
                Program.Orbwalker.ActiveMode == MyOrbwalker.OrbwalkingMode.LaneClear)
            {
                var dashPosition = Game.CursorPos;
                var mode         = Program.ComboMenu.Item("QMode").GetValue <StringList>().SelectedValue;
                switch (mode)
                {
                case "PRADA":
                    dashPosition = m.GetTumblePos();
                    break;

                default:
                    dashPosition = Game.CursorPos;
                    break;
                }
                if (m.Team == GameObjectTeam.Neutral)
                {
                    Program.Q.Cast(dashPosition);
                }
                foreach (
                    var minion in
                    ObjectManager.Get <Obj_AI_Minion>()
                    .Where(
                        minion => m.NetworkId != minion.NetworkId && minion.IsEnemy && minion.IsValidTarget(615))
                    )
                {
                    if (minion == null)
                    {
                        break;
                    }
                    var time = (int)(ObjectManager.Player.AttackCastDelay * 1000) + Game.Ping / 2 +
                               1000 *
                               (int)
                               Math.Max(0,
                                        ObjectManager.Player.Distance(minion) - ObjectManager.Player.BoundingRadius) /
                               (int)ObjectManager.Player.BasicAttack.MissileSpeed;
                    var predHealth = HealthPrediction.GetHealthPrediction(minion, time);
                    if (predHealth < ObjectManager.Player.GetAutoAttackDamage(minion) + Program.Q.GetDamage(minion) &&
                        predHealth > 0)
                    {
                        Program.Q.Cast(dashPosition, true);
                    }
                }
            }
        }
Example #10
0
        public static void AfterAttack(AttackableUnit sender, AttackableUnit target)
        {
            if (!Program.Q.IsReady())
            {
                return;
            }
            if (sender.IsMe && target.IsValid <Obj_AI_Hero>())
            {
                var tg = target as Obj_AI_Hero;
                if (tg == null)
                {
                    return;
                }
                var mode           = Program.ComboMenu.Item("QMode").GetValue <StringList>().SelectedValue;
                var tumblePosition = Game.CursorPos;
                switch (mode)
                {
                case "PRADA":
                    tumblePosition = tg.GetTumblePos();
                    break;

                default:
                    tumblePosition = Game.CursorPos;
                    break;
                }
                Tumble.Cast(tumblePosition);
            }
            if (sender.IsMe && target.IsValid <Obj_AI_Minion>())
            {
                if (Program.LaneClearMenu.Item("QWaveClear").GetValue <bool>() &&
                    Program.Orbwalker.ActiveMode == MyOrbwalker.OrbwalkingMode.LaneClear)
                {
                    var meleeMinion = ObjectManager.Get <Obj_AI_Minion>().FirstOrDefault(m => m.IsMelee);
                    if (ObjectManager.Player.ManaPercent >=
                        Program.LaneClearMenu.Item("QWaveClearMana").GetValue <Slider>().Value&&
                        meleeMinion.IsValidTarget())
                    {
                        if (ObjectManager.Player.Level == 1)
                        {
                            Tumble.Cast(meleeMinion.GetTumblePos());
                        }
                        if (ObjectManager.Player.CountEnemiesInRange(1600) == 0)
                        {
                            Tumble.Cast(meleeMinion.GetTumblePos());
                        }
                    }
                    if (target.Name.Contains("SRU_"))
                    {
                        Tumble.Cast(((Obj_AI_Base)target).GetTumblePos());
                    }
                }
                if (Program.LaneClearMenu.Item("QLastHit").GetValue <bool>() &&
                    ObjectManager.Player.ManaPercent >=
                    Program.LaneClearMenu.Item("QLastHitMana").GetValue <Slider>().Value&&
                    Program.Orbwalker.ActiveMode == MyOrbwalker.OrbwalkingMode.LastHit ||
                    Program.Orbwalker.ActiveMode == MyOrbwalker.OrbwalkingMode.LaneClear)
                {
                    if (ObjectManager.Get <Obj_AI_Minion>()
                        .Where(
                            m =>
                            MyOrbwalker.InAutoAttackRange(m)).Count(m =>
                                                                    m.Health <= ObjectManager.Player.GetAutoAttackDamage(m)) > 2)
                    {
                        var cursorPos = Game.CursorPos;
                        if (!cursorPos.IsDangerousPosition())
                        {
                            Program.Q.Cast(ObjectManager.Player.GetTumblePos());
                            return;
                        }
                    }
                }
            }
        }
        public static void AfterAttack(object sender, OrbwalkerActionArgs args)
        {
            if (args.Type != OrbwalkerType.AfterAttack)
            {
                return;
            }
            //var targets = GameObjects.AllGameObjects.Where(i => !i.IsAlly && !i.IsMe && !i.IsDead);
            //foreach(var target in targets)
            //{
            if (!Program.Q.IsReady())
            {
                return;
            }
            if (args.Target.IsValidTarget(800) &&
                (Orbwalker.ActiveMode == OrbwalkerMode.Combo ||
                 !Program.MainMenu.GetMenuBool("Combo Settings", "OnlyQinCombo") == true))
            {
                var tg = args.Target as AIHeroClient;
                if (tg == null)
                {
                    return;
                }
                var mode           = Program.MainMenu.GetMenuList("Combo Settings", "QMode");
                var tumblePosition = Game.CursorPos;
                switch (mode)
                {
                case "PRADA":
                    tumblePosition = tg.GetTumblePos();
                    break;

                default:
                    tumblePosition = Game.CursorPos;
                    break;
                }

                Tumble.Cast(tumblePosition);
            }

            var ms = ObjectManager.Get <AIMinionClient>().Where(minion => minion.NetworkId != minion.NetworkId && minion.IsEnemy && minion.IsValidTarget(615));

            if (ms != null)
            {
                foreach (var m in ms)
                {
                    if (!m.IsValidTarget(800))
                    {
                        return;
                    }
                    if (m != null && Program.MainMenu.GetMenuBool("Laneclear Settings", "QLastHit") == true &&
                        ObjectManager.Player.ManaPercent >=
                        Program.MainMenu.GetMenuSlider("Laneclear Settings", "QLastHitMana") &&
                        Orbwalker.ActiveMode == OrbwalkerMode.LastHit ||
                        Orbwalker.ActiveMode == OrbwalkerMode.LaneClear)
                    {
                        var dashPosition = Game.CursorPos;
                        var mode         = Program.MainMenu.GetMenuList("Combo Settings", "QMode");
                        switch (mode)
                        {
                        case "PRADA":
                            dashPosition = m.GetTumblePos();
                            break;

                        default:
                            dashPosition = Game.CursorPos;
                            break;
                        }

                        if (m.Team == GameObjectTeam.Neutral)
                        {
                            Program.Q.Cast(dashPosition);
                        }
                        foreach (var minion in ObjectManager.Get <AIMinionClient>().Where(minion =>
                                                                                          m.NetworkId != minion.NetworkId && minion.IsEnemy && minion.IsValidTarget(615)))
                        {
                            if (minion == null)
                            {
                                break;
                            }
                            var time = (int)(ObjectManager.Player.AttackCastDelay * 1000) + Game.Ping / 2 + 1000 *
                                       (int)Math.Max(0,
                                                     ObjectManager.Player.Distance(minion) - ObjectManager.Player.BoundingRadius) /
                                       (int)ObjectManager.Player.BasicAttack.MissileSpeed;
                            var predHealth = HealthPrediction.GetPrediction(minion, time);
                            if (predHealth < ObjectManager.Player.GetAutoAttackDamage(minion) + Program.Q.GetDamage(minion) &&
                                predHealth > 0)
                            {
                                Program.Q.Cast(dashPosition, true);
                            }
                        }
                    }
                }
            }
        }