示例#1
0
 private static void Interrupter2_OnInterruptableTarget(ActiveInterrupter interrupter)
 {
     if (R.IsReady() && interrupter.Sender.IsValidTarget(R.Range) && Menu.Item("interrupt").GetValue <bool>())
     {
         R.CastIfHitchanceEquals(interrupter.Sender, HitChance.Medium);
     }
 }
示例#2
0
        private void OnInterruptable(ActiveInterrupter interrupter)
        {
            if (!ConfigMenu.config.Item("useQinterrupt").GetValue <bool>())
            {
                return;
            }

            if (interrupter.DangerLevel != InterrupterDangerLevel.High)
            {
                return;
            }

            if (interrupter.Sender.Distance(ObjectManager.Player) <= q.Range && interrupter.Sender.IsEnemy && interrupter.Sender.IsValidTarget())
            {
                var qPrediction =
                    q.GetPrediction(interrupter.Sender, false, 0,
                                    new[]
                {
                    CollisionableObjects.Walls, CollisionableObjects.Heroes, CollisionableObjects.YasuoWall,
                    CollisionableObjects.Minions,
                }).Hitchance;

                if (qPrediction >= HitChance.High)
                {
                    q.Cast(interrupter.Sender);
                }
                else if (qPrediction == HitChance.Impossible && interrupter.Sender.Distance(ObjectManager.Player) <= r.Range && ConfigMenu.config.Item("useRinterrupt").GetValue <bool>())
                {
                    r.CastOnUnit(interrupter.Sender);
                }
            }
        }
示例#3
0
 private static void OnInterrupter(ActiveInterrupter interrupter)
 {
     if (interrupter.Sender.IsEnemy && (interrupter.Sender.IsCastingInterruptableSpell() || interrupter.Sender.IsRecalling()) &&
         interrupter.Sender.IsValidTarget(E.Range) && Config.Item("e.interrupter").GetValue <bool>())
     {
         E.Cast();
     }
 }
示例#4
0
 private static void ThreshInterruptableSpell(ActiveInterrupter interrupter)
 {
     if (E.IsReady() &&
         E.IsInRange(interrupter.Sender) &&
         Config.Item("useE2I").GetValue <bool>())
     {
         E.Cast(interrupter.Sender.PreviousPosition);
     }
 }
示例#5
0
 public static void OnPossibleToInterrupt(ActiveInterrupter interrupter)
 {
     if (interrupter.DangerLevel == InterrupterDangerLevel.High && Program.E.IsReady() &&
         Program.E.IsInRange(interrupter.Sender) && interrupter.Sender.CharacterName != "Shyvana" &&
         interrupter.Sender.CharacterName != "Vayne")
     {
         Console.WriteLine("Interrupter");
         Program.E.Cast(interrupter.Sender);
     }
 }
示例#6
0
 private void OnInterrupterHandle(ActiveInterrupter interrupter)
 {
     if (interrupter.Sender.IsEnemy)
     {
         var eSlot = spells[Spells.E];
         if (ElDianaMenu.Menu.Item("ElDiana.Interrupt.UseEInterrupt").GetValue <bool>() && eSlot.IsReady() &&
             eSlot.Range >= Player.Distance(interrupter.Sender))
         {
             eSlot.Cast();
         }
     }
 }
示例#7
0
        public static void OnInterruptableTarget(ActiveInterrupter interrupter)
        {
            if (!MenuConfig.InterruptMenu || interrupter.Sender.IsInvulnerable)
            {
                return;
            }

            if (interrupter.Sender.IsValidTarget(Spells.W.Range))
            {
                if (Spells.W.IsReady())
                {
                    Spells.W.Cast(interrupter.Sender);
                }
            }
        }
示例#8
0
        private static void Interrupter2_OnInterruptableTarget(ActiveInterrupter interrupter)
        {
            if (!Config.Item("e.q.interrupter").GetValue <bool>() || !interrupter.Sender.IsValidTarget())
            {
                return;
            }
            InterrupterDangerLevel a;

            switch (Config.Item("min.interrupter.danger.level").GetValue <StringList>().SelectedValue)
            {
            case "HIGH":
                a = InterrupterDangerLevel.High;
                break;

            case "MEDIUM":
                a = InterrupterDangerLevel.Medium;
                break;

            default:
                a = InterrupterDangerLevel.Low;
                break;
            }

            if (interrupter.DangerLevel == InterrupterDangerLevel.High ||
                interrupter.DangerLevel == InterrupterDangerLevel.Medium && a != InterrupterDangerLevel.High ||
                interrupter.DangerLevel == InterrupterDangerLevel.Medium && a != InterrupterDangerLevel.Medium &&
                a != InterrupterDangerLevel.High)
            {
                if (interrupter.Sender.HasBuff("brandablaze") && Q.IsReady())
                {
                    Q.Cast(interrupter.Sender);
                }
                else
                {
                    if (E.IsReady() && Q.IsReady())
                    {
                        E.Cast(interrupter.Sender);
                    }
                }
            }
        }
示例#9
0
        static void Interrupter2_OnInterruptableTarget(ActiveInterrupter interrupter)
        {
            AIHeroClient sender = interrupter.Sender;

            if (interrupter.DangerLevel != InterrupterDangerLevel.High)
            {
                return;
            }

            if (Menu.SubMenu("Misc").Item("AutoEInterrupt").GetValue <bool>() && E.IsReady())
            {
                foreach (var soldier in SoldiersManager.AllSoldiers.Where(s => Player.Distance(s, true) < E.RangeSqr))
                {
                    if (E.WillHit(sender, soldier.Position))
                    {
                        E.Cast(soldier.Position);
                        return;
                    }
                }
                return;
            }

            if (Menu.SubMenu("R").Item("AutoRInterrupt").GetValue <bool>() && R.IsReady())
            {
                var dist = Player.Distance(sender, true);

                if (dist < R.RangeSqr)
                {
                    R.Cast(sender, false, true);
                    return;
                }

                if (dist < Math.Pow(Math.Sqrt(R.RangeSqr + Math.Pow(R.Width + sender.BoundingRadius, 2)), 2))
                {
                    var angle = (float)Math.Atan(R.Width + sender.BoundingRadius / R.Range);
                    var p     = (sender.Position.To2D() - Player.Position.To2D()).Rotated(angle);
                    R.Cast(p);
                }
            }
        }
示例#10
0
 private static void Interrupter2_OnInterruptableTarget(
     ActiveInterrupter interrupter)
 {
 }