Ejemplo n.º 1
0
 protected override void OnGapcloser(AIHeroClient sender, GapCloserEventArgs args)
 {
     if (Settings.Misc.EVsGapclosers && E.IsReady() && (args.End.Distance(Player.Instance) < 350) && (Player.Instance.Mana - EMana > QMana[Q.Level] + WMana + RMana))
     {
         E.CastMinimumHitchance(sender, 65);
     }
 }
Ejemplo n.º 2
0
 protected override void OnGapcloser(AIHeroClient sender, GapCloserEventArgs args)
 {
     if (R.IsReady() && (args.End.DistanceCached(Player.Instance.Position) < 400))
     {
         R.CastMinimumHitchance(sender, 65);
     }
 }
Ejemplo n.º 3
0
 private static void Gapcloser_OnGapCloser(AIHeroClient sender, GapCloserEventArgs e)
 {
     if (sender.IsEnemy && e.End.Distance(_Player) < 200)
     {
         Program.Spells[SpellSlot.E].Cast(e.End);
     }
 }
Ejemplo n.º 4
0
 protected override void OnGapcloser(AIHeroClient sender, GapCloserEventArgs args)
 {
     if (R.IsReady() && args.End.Distance(Player.Instance.Position) < 400)
     {
         R.Cast(sender);
     }
 }
Ejemplo n.º 5
0
        protected override void OnGapcloser(AIHeroClient sender, GapCloserEventArgs args)
        {
            if (Settings.Combo.UseWVsGapclosers && W.IsReady() && args.End.Distance(Player.Instance) < 350)
            {
                var pos =
                    SafeSpotFinder.GetSafePosition(Player.Instance.Position.To2D(), 880, 1200, 400)
                    .Where(x => x.Value <= 1)
                    .Select(x => x.Key)
                    .ToList();
                if (pos.Any())
                {
                    W.Cast(Player.Instance.Position.Extend(Misc.SortVectorsByDistanceDescending(pos, args.End.To2D())[0], 880).To3D());
                }
            }

            if (!Settings.Combo.UseRVsGapclosers || !R.IsReady() || !sender.IsValidTarget(R.Range) || args.End.Distance(Player.Instance) > 350)
            {
                return;
            }

            if (args.Delay == 0)
            {
                R.Cast(sender);
            }
            else
            {
                Core.DelayAction(() => R.Cast(sender), args.Delay);
            }
        }
Ejemplo n.º 6
0
        private static void OnGapCloser(object obj, GapCloserEventArgs Args)
        {
            if (Args.IsDirectedToPlayer)
            {
                var sender = Args.Sender as AIHeroClient;

                if (sender.IsEnemy && sender.IsValidTarget(300))
                {
                    if (Menu["Misc"]["RGap"] && R.IsReady())
                    {
                        R.Cast();
                    }
                    else if (Menu["Misc"]["WGap"] && W.IsReady())
                    {
                        W.Cast(sender);
                    }
                    else if (Menu["Misc"]["EGap"] && E.IsReady())
                    {
                        E.Cast(Me);
                    }
                    else if (Menu["Misc"]["QGap"] && Q.IsReady())
                    {
                        Q.Cast(sender);
                    }
                }
            }
        }
Ejemplo n.º 7
0
 protected override void OnGapcloser(AIHeroClient sender, GapCloserEventArgs args)
 {
     if (E.IsReady() && Settings.Combo.UseEVsGapclosers && Player.Instance.ManaPercent > 30 &&
         args.End.Distance(Player.Instance) < 350 && sender.IsValidTarget(E.Range))
     {
         if (args.Delay == 0)
         {
             E.Cast(sender);
         }
         else
         {
             Core.DelayAction(() => E.Cast(sender), args.Delay);
         }
     }
 }
Ejemplo n.º 8
0
        protected override void OnGapcloser(AIHeroClient sender, GapCloserEventArgs args)
        {
            if (!Settings.Misc.EnableAntiGapcloser || (args.End.Distance(Player.Instance) > 350) || !E.IsReady() || !sender.IsValidTarget(E.Range))
            {
                return;
            }

            if (args.Delay == 0)
            {
                E.Cast(sender);
            }
            else
            {
                Core.DelayAction(() => E.Cast(sender), args.Delay);
            }
        }
Ejemplo n.º 9
0
        protected override void OnGapcloser(AIHeroClient sender, GapCloserEventArgs args)
        {
            if (E.IsReady() && sender.IsValidTarget(E.Range) && args.End.Distance(Player.Instance) < 500)
            {
                if (args.Delay == 0)
                {
                    E.Cast(sender);
                }
                else
                {
                    Core.DelayAction(() => E.Cast(sender), args.Delay);
                }

                Console.WriteLine("[DEBUG] OnGapcloser | Champion : {0} | SpellSlot : {1}", sender.ChampionName, args.SpellSlot);
            }
        }
Ejemplo n.º 10
0
        protected override void OnGapcloser(AIHeroClient sender, GapCloserEventArgs args)
        {
            if (!R.IsReady() || (args.End.Distance(Player.Instance) > 350) || !Settings.Misc.UseRAgainstGapclosers ||
                !sender.IsValidTarget(R.Range) || sender.IsUnderTurret())
            {
                return;
            }

            if (args.Delay == 0)
            {
                R.Cast(sender);
            }
            else
            {
                Core.DelayAction(() => R.Cast(sender), args.Delay);
            }
        }
Ejemplo n.º 11
0
        protected override void OnGapcloser(AIHeroClient sender, GapCloserEventArgs args)
        {
            if (W.IsReady() && Settings.Misc.WAntiGapcloser && (args.End.DistanceCached(Player.Instance) < 350))
            {
                if (args.Delay == 0)
                {
                    W.CastMinimumHitchance(sender, 60);
                }
                else
                {
                    var target = sender; //f**k anonymous methods

                    Core.DelayAction(() => W.CastMinimumHitchance(target, 60), args.Delay);
                }
            }

            if (E.IsReady() && Settings.Misc.EAntiGapcloser && (Player.Instance.Mana - 50 > 100) && (args.End.DistanceCached(Player.Instance) < 350))
            {
                if (args.Delay == 0)
                {
                    if (sender.Hero == Champion.Caitlyn)
                    {
                        E.CastMinimumHitchance(sender, 60);
                    }
                    else
                    {
                        E.Cast(args.End);
                    }
                }
                else
                {
                    Core.DelayAction(() =>
                    {
                        if (sender.Hero == Champion.Caitlyn)
                        {
                            E.CastMinimumHitchance(sender, 60);
                        }
                        else
                        {
                            E.Cast(args.End);
                        }
                    }, args.Delay);
                }
            }
        }
Ejemplo n.º 12
0
        protected override void OnGapcloser(AIHeroClient sender, GapCloserEventArgs args)
        {
            if (Settings.Misc.WAgainstGapclosers && W.IsReady() && W.IsInRange(args.End))
            {
                W.Cast(args.End);
            }

            if (args.GapcloserType != GapcloserTypes.Targeted || !E.IsReady() || !Settings.Misc.EAgainstGapclosers)
            {
                return;
            }

            var ePrediction = E.GetPrediction(sender);

            if (ePrediction.HitChancePercent >= 65 && !GetDashEndPosition(ePrediction.CastPosition).IsVectorUnderEnemyTower())
            {
                Core.DelayAction(() => E.Cast(sender), args.Delay);
            }
        }
Ejemplo n.º 13
0
 protected override void OnGapcloser(AIHeroClient sender, GapCloserEventArgs args)
 {
 }
Ejemplo n.º 14
0
 protected abstract void OnGapcloser(AIHeroClient sender, GapCloserEventArgs args);
Ejemplo n.º 15
0
 void IHeroAddon.OnGapcloser(AIHeroClient sender, GapCloserEventArgs args)
 {
     OnGapcloser(sender, args);
 }
Ejemplo n.º 16
0
 protected override void OnGapcloser(AIHeroClient sender, GapCloserEventArgs args)
 {
     throw new NotImplementedException();
 }