Exemplo n.º 1
0
 private static void SemiAutomaticE()
 {
     if (E.IsReady() && Config.Menu["Key"]["key.e"].GetValue <MenuKeyBind>().Active)
     {
         if (Config.Menu["Key"]["key.emode"].GetValue <MenuList>().Index == 1)
         {
             float   lowest = 1600;
             Vector3 bPos   = Vector3.Zero;
             foreach (Barrel barrel in AllBarrel)
             {
                 if (barrel.GetBarrel().Distance(Game.CursorPos) < lowest)
                 {
                     bPos   = barrel.GetBarrel().Position;
                     lowest = barrel.GetBarrel().Distance(Game.CursorPos);
                 }
             }
             if (lowest != 1600f)
             {
                 E.Cast(bPos.Extend(Game.CursorPos, Math.Min(685, lowest)));
             }
         }
         else if (Config.Menu["Key"]["key.emode"].GetValue <MenuList>().Index == 2 && Q.IsReady())
         {
             IEnumerable <Barrel> toExplode = AllBarrel.Where(b => b.CanQNow() && b.GetBarrel().Distance(Player) <= Q.Range);
             if (toExplode.Any())
             {
                 float  lowest = 1600;
                 Barrel bar    = null;
                 foreach (Barrel barrel in AllBarrel)
                 {
                     if (barrel.GetBarrel().Distance(Game.CursorPos) < lowest)
                     {
                         bar    = barrel;
                         lowest = barrel.GetBarrel().Distance(Game.CursorPos);
                     }
                 }
                 if (bar != null)
                 {
                     E.Cast(bar.GetBarrel().Position.Extend(Game.CursorPos, Math.Min(685, lowest)));
                     QDelay.Delay(bar.GetBarrel());
                 }
             }
         }
     }
 }
Exemplo n.º 2
0
        private static void Combo(bool extended = false, Obj_AI_Hero sender = null)
        {
            if (Config.Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Combo)
            {
                return;
            }

            //if (Config.Item("combo.r").GetValue<bool>())
            //{
            //    Obj_AI_Hero RTarget = HeroManager.Enemies.FirstOrDefault(t => t.CountAlliesInRange(660) > 0);
            //    if (RTarget != null)
            //    {
            //        R.CastIfWillHit(RTarget, Config.Item("combo.rmin").GetValue<Slider>().Value);
            //    }
            //}

            if (Config.Menu.Item("combo.qe").GetValue <bool>() && Q.IsReady())
            {
                Obj_AI_Hero target = TargetSelector.GetTarget(1200, TargetSelector.DamageType.Physical);
                if (target != null)
                {
                    EnemyPosition = target.Position;
                    Helper.GetPredPos(target);
                    if (extended && target != sender)
                    {
                        extended = false;
                    }

                    foreach (var b in AllBarrel)
                    {
                        if (b.CanQNow() && (b.GetBarrel().Position.CannotEscape(b.GetBarrel().Position, target, extended) || GetBarrelsInRange(b).Any(bb => bb.GetBarrel().Position.CannotEscape(b.GetBarrel().Position, target, extended, true))))
                        {
                            QDelay.Delay(b.GetBarrel());
                            break;
                        }
                    }
                    if (E.IsReady() && !QDelay.Active())
                    {
                        if (Config.Item("combo.doublee").GetValue <bool>())
                        {
                            foreach (var b in AllBarrel)
                            {
                                if (b.CanQNow() && b.GetBarrel().Distance(Player) > 615 &&
                                    b.GetBarrel().Distance(target) < 850)
                                {
                                    Q.Cast(b.GetBarrel());
                                    break;
                                }
                            }
                        }
                        if (Config.Item("combo.ex").GetValue <bool>())
                        {
                            foreach (var b in AllBarrel)
                            {
                                var castPos = b.GetBarrel().Position.ExtendToMaxRange(Helper.PredPos.To3D(), 685);

                                if (b.CanQNow() && castPos.Distance(Player.Position) < 1000 &&
                                    castPos.CannotEscape(b.GetBarrel().Position, target, extended, true))
                                {
                                    E.Cast(castPos);
                                    QDelay.Delay(b.GetBarrel());
                                    break;
                                }
                            }
                        }
                    }
                }
            }

            //Triple - Logic
            if (Q.IsReady() && E.Instance.Ammo >= 2 && Config.Item("combo.triplee").GetValue <bool>())
            {
                List <Barrel> GetValidBarrels = AllBarrel.Where(b => b.CanQNow(400) && b.GetBarrel().Distance(Player) <= 625).ToList();
                Obj_AI_Hero   target          = TargetSelector.GetTarget(1200, TargetSelector.DamageType.Physical);
                if (target != null && GetValidBarrels.Any(b => b.GetBarrel().Distance(target) <= 1200))
                {
                    E.Cast(GetValidBarrels.First(b => b.GetBarrel().Distance(target) <= 1200).GetBarrel().Position.ExtendToMaxRange(Player.Position.ExtendToMaxRange(target.Position, 980), 685));
                    Utility.DelayAction.Add(600, () => QDelay.Delay(GetValidBarrels.First().GetBarrel()));
                }
            }

            if (Config.Item("combo.q").GetValue <bool>() && Q.IsReady())
            {
                Obj_AI_Hero target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical);
                if (target != null && (Config.Item("key.q").GetValue <KeyBind>().Active || (!E.IsReady() && !AllBarrel.Any(b => b.GetBarrel().Position.Distance(target.Position) < 600))))
                {
                    Q.Cast(target);
                }
            }
            if (E.IsReady() && E.Instance.Ammo > 1 && Config.Item("combo.e").GetValue <bool>() && !AllBarrel.Any(b => b.GetBarrel().Position.Distance(Player.Position) <= 1200))
            {
                Obj_AI_Hero target = TargetSelector.GetTarget(1000, TargetSelector.DamageType.Physical);
                if (target == null)
                {
                    return;
                }
                Helper.GetPredPos(target);
                Vector2 castPos = target.Position.Extend(Helper.PredPos.To3D(), 200).To2D();
                if (Player.Distance(castPos) <= E.Range)
                {
                    E.Cast(castPos);
                }
                else
                {
                    E.Cast(Player.Position.Extend(castPos.To3D(), 1000));
                }
            }
        }