public static void Execute(InterruptableSpellEventArgs args)
        {
            if (!HasStun)
            {
                return;
            }

            if (!Interrupter.IsEnabled(args.SpellName))
            {
                return;
            }

            if (R.Ready && RBool.Enabled)
            {
                R.Cast(args.Sender);
                return;
            }

            if (W.Ready && WBool.Enabled)
            {
                W.Cast(args.Sender);
                return;
            }

            if (Q.Ready && QBool.Enabled)
            {
                Q.Cast(args.Sender);
            }
        }
示例#2
0
        private static void OnPossibleToInterrupt(Obj_AI_Base sender, InterruptableSpellEventArgs interruptableSpellEventArgs)
        {
            //interrupt skills

            if (Player.Distance(sender) < E.Range)
            {
                E.Cast(sender);
            }
        }
示例#3
0
        public static void Interrupter_OnInterruptableSpell(Obj_AI_Base sender, InterruptableSpellEventArgs e)
        {
            var dangerLevel =
                new[]
                {
                    DangerLevel.Low, DangerLevel.Medium,
                    DangerLevel.High,
                }[Program.InterruptorMenu["dangerLevel"].Cast<Slider>().CurrentValue - 1];

            if (dangerLevel == DangerLevel.Medium && e.DangerLevel.HasFlag(DangerLevel.High) ||
                dangerLevel == DangerLevel.Low && e.DangerLevel.HasFlag(DangerLevel.High) &&
                e.DangerLevel.HasFlag(DangerLevel.Medium))
                return;

            if (e.Sender.IsValidTarget())
            {
                Program.E.Cast(e.Sender);
            }
        }
示例#4
0
 public static void OnInterruptableSpell(AIBaseClient sender, InterruptableSpellEventArgs args)
 {
     InterrupterEvent.Execute(args);
 }