예제 #1
0
        /// <summary>
        ///     Fired on an incoming gapcloser.
        /// </summary>
        /// <param name="sender">The object.</param>
        /// <param name="args">The <see cref="Events.GapCloserEventArgs" /> instance containing the event data.</param>
        public static void OnGapCloser(object sender, Events.GapCloserEventArgs args)
        {
            if (GameObjects.Player.IsDead || Invulnerable.Check(args.Sender, DamageType.Magical, false))
            {
                return;
            }

            if (Vars.E.IsReady() && GameObjects.Player.Distance(args.End) < Vars.E.Range - 50f &&
                Vars.Menu["spells"]["e"]["gapcloser"].GetValue <MenuBool>().Value)
            {
                Vars.E.Cast(args.End);
            }

            if (Vars.W.IsReady() && args.Sender.IsValidTarget(Vars.W.Range) &&
                Vars.Menu["spells"]["w"]["gapcloser"].GetValue <MenuBool>().Value)
            {
                if (args.Sender.ChampionName.Equals("MasterYi"))
                {
                    DelayAction.Add(250, () => { Vars.W.Cast(GameObjects.Player.ServerPosition, args.Start); });
                    return;
                }

                Vars.W.Cast(
                    args.End,
                    args.Sender.IsMelee
                        ? GameObjects.Player.ServerPosition.Extend(args.End, GameObjects.Player.Distance(args.End) * 2)
                        : GameObjects.Player.ServerPosition);
            }
        }
예제 #2
0
 private void OnGapCloser(object sender, Events.GapCloserEventArgs args)
 {
     if (args.Target != null && args.Target.Distance(ObjectManager.Player) < 850)
     {
         var hero = args.Target as AIHeroClient;
         if (hero != null && hero.IsHPBarRendered)
         {
             E.Cast(hero.ServerPosition.Randomize(-15, 15));
             return;
         }
         E.Cast(args.Target.Position.Randomize(-15, 15));
     }
     if (args.End.Distance(ObjectManager.Player.Position) < 850)
     {
         if (args.End.Distance(ObjectManager.Player.Position) < 450)
         {
             E.Cast(ObjectManager.Player.ServerPosition.Randomize(-15, 15));
         }
         else
         {
             var gcTarget = GameObjects.AllyHeroes.FirstOrDefault(ally => ally.Position.Distance(args.End) < 450);
             if (gcTarget != null)
             {
                 E.Cast(gcTarget.ServerPosition.Randomize(-15, 15));
             }
         }
     }
 }
예제 #3
0
        /// <summary>
        ///     Fired on an incoming gapcloser.
        /// </summary>
        /// <param name="sender">The object.</param>
        /// <param name="args">The <see cref="Events.GapCloserEventArgs" /> instance containing the event data.</param>
        public static void OnGapCloser(object sender, Events.GapCloserEventArgs args)
        {
            if (GameObjects.Player.IsDead)
            {
                return;
            }

            if (Vars.E.IsReady() && args.Sender.IsMelee && args.Sender.IsValidTarget(Vars.E.Range) &&
                args.SkillType == GapcloserType.Targeted &&
                Vars.Menu["spells"]["e"]["gapcloser"].GetValue <MenuBool>().Value)
            {
                if (args.Target.IsMe)
                {
                    Vars.E.Cast(GameObjects.Player.ServerPosition.Extend(args.Sender.ServerPosition, -475f));
                }
            }

            if (Invulnerable.Check(args.Sender, DamageType.Magical, false))
            {
                return;
            }

            if (Vars.W.IsReady() && args.IsDirectedToPlayer && args.Sender.IsValidTarget(Vars.W.Range) &&
                Vars.Menu["spells"]["w"]["gapcloser"].GetValue <MenuBool>().Value)
            {
                Vars.W.Cast(args.End);
            }
        }
예제 #4
0
        private static void OnGapCloser(object obj, Events.GapCloserEventArgs Args)
        {
            AIHeroClient target = Args.Sender;

            if (target != null && Menu["Defensive"]["Randuin"]["Enable"] && Items.HasItem(RanduinsOmen) && Items.CanUseItem(RanduinsOmen))
            {
                foreach (var hero in GameObjects.AllyHeroes)
                {
                    if (!hero.IsMe)
                    {
                        continue;
                    }

                    if (!target.IsMelee())
                    {
                        continue;
                    }

                    if (target.Distance(hero) <= 500 / 2f)
                    {
                        Items.UseItem(RanduinsOmen);
                    }
                }
            }
        }
예제 #5
0
        /// <summary>
        ///     Fired on an incoming gapcloser.
        /// </summary>
        /// <param name="sender">The object.</param>
        /// <param name="args">The <see cref="Events.GapCloserEventArgs" /> instance containing the event data.</param>
        public static void OnGapCloser(object sender, Events.GapCloserEventArgs args)
        {
            if (!Vars.getCheckBoxItem(Vars.Menu, "enable") ||
                !Vars.getKeyBindItem(Vars.Menu, "keybind") ||
                !Vars.getCheckBoxItem(Vars.EMenu, "dashpred"))
            {
                return;
            }

            /// <summary>
            ///     The Dash-Condemn Prediction Logic.
            /// </summary>
            if (Vars.E.IsReady() &&
                Vars.Flash.IsReady() &&
                !GameObjects.Player.IsDashing() &&
                args.Sender.LSIsValidTarget(Vars.E.Range) &&
                !Invulnerable.Check(args.Sender, DamageType.Magical, false) &&
                GameObjects.Player.Distance(args.End) >
                GameObjects.Player.BoundingRadius &&
                Vars.getCheckBoxItem(Vars.WhiteListMenu, args.Sender.ChampionName.ToLower()))
            {
                for (var i = 1; i < 10; i++)
                {
                    if ((args.End - Vector3.Normalize(args.End - GameObjects.Player.ServerPosition) * (float)(i * 42.5)).LSIsWall() &&
                        (args.End - Vector3.Normalize(args.End - GameObjects.Player.ServerPosition) * i * 44).LSIsWall())
                    {
                        Vars.E.CastOnUnit(args.Sender);
                        Vars.Flash.Cast(GameObjects.Player.ServerPosition.LSExtend(args.Sender.ServerPosition, Vars.Flash.Range));
                    }
                }
            }
        }
예제 #6
0
파일: Caitlyn.cs 프로젝트: Burbb/Portaio
        /// <summary>
        ///     Fired on an incoming gapcloser.
        /// </summary>
        /// <param name="sender">The object.</param>
        /// <param name="args">The <see cref="Events.GapCloserEventArgs" /> instance containing the event data.</param>
        public static void OnGapCloser(object sender, Events.GapCloserEventArgs args)
        {
            if (Vars.W.IsReady() &&
                args.Sender.LSIsValidTarget(Vars.W.Range) &&
                !Invulnerable.Check(args.Sender, DamageType.Magical, false) &&
                Vars.getCheckBoxItem(Vars.WMenu, "gapcloser"))
            {
                if (!ObjectManager.Get <Obj_AI_Minion>().Any(
                        m =>
                        m.Distance(args.End) < 100f &&
                        m.CharData.BaseSkinName.Equals("caitlyntrap")))
                {
                    Vars.W.Cast(args.End);
                    return;
                }
            }

            if (Vars.E.IsReady() &&
                args.IsDirectedToPlayer &&
                args.Sender.LSIsValidTarget(Vars.E.Range) &&
                !Invulnerable.Check(args.Sender, DamageType.Magical, false) &&
                Vars.getCheckBoxItem(Vars.EMenu, "gapcloser"))
            {
                if (!Vars.E.GetPrediction(args.Sender).CollisionObjects.Any())
                {
                    Vars.E.Cast(args.Sender.ServerPosition);
                }
            }
        }
예제 #7
0
 private void EventsOnOnGapCloser(object sender, Events.GapCloserEventArgs args)
 {
     if (R.IsReady() && args.IsDirectedToPlayer && args.Sender.Distance(ObjectManager.Player) < 1300)
     {
         R.Cast(args.Sender.ServerPosition);
     }
 }
예제 #8
0
        /// <summary>
        ///     Fired on an incoming gapcloser.
        /// </summary>
        /// <param name="sender">The object.</param>
        /// <param name="args">The <see cref="Events.GapCloserEventArgs" /> instance containing the event data.</param>
        public static void OnGapCloser(object sender, Events.GapCloserEventArgs args)
        {
            if (!Vars.Menu["enable"].GetValue <MenuBool>().Value || !Vars.Menu["keybind"].GetValue <MenuKeyBind>().Active ||
                !Vars.Menu["features"]["dashpred"].GetValue <MenuBool>().Value)
            {
                return;
            }

            /// <summary>
            ///     The Dash-Condemn Prediction Logic.
            /// </summary>
            if (Vars.E.IsReady() && Vars.Flash.IsReady() && !GameObjects.Player.IsDashing() &&
                args.Sender.IsValidTarget(Vars.E.Range) &&
                !Invulnerable.Check(args.Sender, DamageType.Magical, false) &&
                GameObjects.Player.Distance(args.End) > GameObjects.Player.BoundingRadius &&
                GameObjects.Player.Distance(GameObjects.Player.ServerPosition.Extend(args.End, Vars.Flash.Range))
                > GameObjects.Player.Distance(args.End) + args.Sender.BoundingRadius &&
                Vars.Menu["whitelist"][args.Sender.ChampionName.ToLower()].GetValue <MenuBool>().Value)
            {
                for (var i = 1; i < 10; i++)
                {
                    var vector = Vector3.Normalize(args.End - GameObjects.Player.ServerPosition);
                    if ((args.End - vector * (float)(i * 42.5)).IsWall() &&
                        (args.End - vector * (float)(i * 44.5)).IsWall())
                    {
                        Vars.E.CastOnUnit(args.Sender);
                        Vars.Flash.Cast(
                            GameObjects.Player.ServerPosition.Extend(args.Sender.ServerPosition, Vars.Flash.Range));
                    }
                }
            }
        }
예제 #9
0
        /// <summary>
        ///     Fired on an incoming gapcloser.
        /// </summary>
        /// <param name="sender">The object.</param>
        /// <param name="args">The <see cref="Events.GapCloserEventArgs" /> instance containing the event data.</param>
        public static void OnGapCloser(object sender, Events.GapCloserEventArgs args)
        {
            if (GameObjects.Player.IsDead)
            {
                return;
            }

            /// <summary>
            ///     The Anti-Gapcloser W Logic.
            /// </summary>
            if (Vars.W.IsReady() && args.Sender.IsMelee && args.IsDirectedToPlayer &&
                GameObjects.Player.Distance(args.End) < GameObjects.Player.GetRealAutoAttackRange() &&
                Vars.Menu["spells"]["w"]["gapcloser"].GetValue <MenuBool>().Value)
            {
                Vars.W.Cast(GameObjects.Player.ServerPosition.Extend(args.Sender.ServerPosition, -Vars.W.Range));
            }

            if (Invulnerable.Check(args.Sender, DamageType.Magical, false))
            {
                return;
            }

            /// <summary>
            ///     The Anti-Gapcloser R Logic.
            /// </summary>
            if (Vars.R.IsReady() && args.Sender.IsMelee && args.IsDirectedToPlayer &&
                args.Sender.IsValidTarget(Vars.R.Range) &&
                Vars.Menu["spells"]["r"]["gapcloser"].GetValue <MenuBool>().Value)
            {
                Vars.R.CastOnUnit(args.Sender);
            }
        }
예제 #10
0
 private void EventsOnOnGapCloser(object sender, Events.GapCloserEventArgs args)
 {
     if (E.IsReady() && UseEGapclose && args.Sender.IsMelee && args.End.Distance(ObjectManager.Player.ServerPosition) > args.Sender.AttackRange)
     {
         E.Cast(ObjectManager.Player.Position.Extend(args.Sender.Position, -Misc.GiveRandomInt(250, 600)));
     }
 }
예제 #11
0
 private void EventsOnOnGapCloser(object sender, Events.GapCloserEventArgs args)
 {
     if (E.IsReady() && args.IsDirectedToPlayer && args.Sender.Distance(ObjectManager.Player) < 800)
     {
         E.Cast(ObjectManager.Player.Position.Extend(args.Sender.Position, -Misc.GiveRandomInt(300, 600)));
     }
 }
예제 #12
0
 private static void OnGapCloser(object obj, Events.GapCloserEventArgs args)
 {
     if (MenuWrapper.Misc.RAntiGapcloser.Value && R.IsReady() && args.IsDirectedToPlayer && args.Sender.DistanceToPlayer() < 250)
     {
         R.Cast(args.Sender.Position);
     }
 }
예제 #13
0
        /// <summary>
        ///     Fired on an incoming gapcloser.
        /// </summary>
        /// <param name="sender">The object.</param>
        /// <param name="args">The <see cref="Events.GapCloserEventArgs" /> instance containing the event data.</param>
        public static void OnGapCloser(object sender, Events.GapCloserEventArgs args)
        {
            if (!args.Sender.IsMelee ||
                Invulnerable.Check(args.Sender, DamageType.Magical))
            {
                return;
            }

            if (Vars.R.IsReady() &&
                args.Sender.IsValidTarget(Vars.R.Range) &&
                args.Sender.IsFacing(GameObjects.Player) &&
                Vars.getCheckBoxItem(Vars.RMenu, "gapcloser"))
            {
                Vars.R.Cast(args.Start);
            }

            if (Vars.W.IsReady() &&
                args.Sender.IsValidTarget(Vars.W.Range) &&
                GameObjects.Player.Distance(args.End) > 500 &&
                Vars.getCheckBoxItem(Vars.WMenu, "gapcloser"))
            {
                Vars.W.Cast(args.End);
                return;
            }
        }
예제 #14
0
파일: Karma.cs 프로젝트: wade1990/PortAIO
        private static void OnGapCloser(object obj, Events.GapCloserEventArgs Args)
        {
            if (Args.IsDirectedToPlayer)
            {
                var sender = Args.Sender as AIHeroClient;

                if (sender.IsEnemy && sender.IsValidTarget(300))
                {
                    if (Menu["Karma_Misc"]["RGap"] && R.IsReady())
                    {
                        R.Cast();
                    }
                    else if (Menu["Karma_Misc"]["WGap"] && W.IsReady())
                    {
                        W.Cast(sender);
                    }
                    else if (Menu["Karma_Misc"]["EGap"] && E.IsReady())
                    {
                        E.Cast(Me);
                    }
                    else if (Menu["Karma_Misc"]["QGap"] && Q.IsReady())
                    {
                        Q.Cast(sender);
                    }
                }
            }
        }
예제 #15
0
 private static void OnGapCloser(object obj, Events.GapCloserEventArgs Args)
 {
     if (Args.IsDirectedToPlayer && Menu["Morgana_Misc"]["QGap"] &&
         Q.IsReady() && Menu["Morgana_Misc"][Args.Sender.ChampionName.ToLower()])
     {
         Q.Cast(Args.Sender);
     }
 }
예제 #16
0
파일: Ryze.cs 프로젝트: wade1990/PortAIO
 private static void OnGapCloser(object obj, Events.GapCloserEventArgs Args)
 {
     if (Menu["Ryze_Misc"]["WGap"] && W.IsReady() && Args.Sender.IsEnemy &&
         Args.Sender is AIHeroClient && Args.Sender.IsValidTarget(250))
     {
         W.CastOnUnit(Args.Sender);
     }
 }
예제 #17
0
        public static void Events_OnGapCloser(object sender, Events.GapCloserEventArgs e)
        {
            if (sender == null || e.Sender.IsAlly || e.Sender == null || !SpellsManager.E.IsReady() || !Config.MiscMenu["Egap"])
            {
                return;
            }

            SpellsManager.E.Cast(Config.Player.ServerPosition.Extend(e.Sender.ServerPosition, -SpellsManager.E.Range));
        }
예제 #18
0
 /// <summary>
 ///     Fired on an incoming gapcloser.
 /// </summary>
 /// <param name="sender">The object.</param>
 /// <param name="args">The <see cref="Events.GapCloserEventArgs" /> instance containing the event data.</param>
 public static void OnGapCloser(object sender, Events.GapCloserEventArgs args)
 {
     if (Vars.E.IsReady() && args.Sender.IsValidTarget(Vars.E.Range) &&
         !Invulnerable.Check(args.Sender, DamageType.Magical, false) &&
         Vars.Menu["spells"]["e"]["gapcloser"].GetValue <MenuBool>().Value)
     {
         Vars.E.Cast(args.End);
     }
 }
예제 #19
0
        private void OnGapCloser(object sender, Events.GapCloserEventArgs args)
        {
            var ally = GameObjects.AllyHeroes.FirstOrDefault(a => a.Distance(args.End) < 300 || args.Sender.Distance(a) < 300);

            if (ally.IsHPBarRendered && ally.Distance(ObjectManager.Player) < 800)
            {
                E.Cast(ally.ServerPosition.Randomize(-25, 25));
            }
        }
예제 #20
0
 /// <summary>
 ///     Fired on an incoming gapcloser.
 /// </summary>
 /// <param name="sender">The object.</param>
 /// <param name="args">The <see cref="Events.GapCloserEventArgs" /> instance containing the event data.</param>
 public static void OnGapCloser(object sender, Events.GapCloserEventArgs args)
 {
     if (Vars.E.IsReady() && args.Sender.IsMelee && args.IsDirectedToPlayer &&
         !Invulnerable.Check(args.Sender, DamageType.Magical, false) &&
         Vars.Menu["spells"]["e"]["gapcloser"].GetValue <MenuBool>().Value)
     {
         Vars.E.CastOnUnit(GameObjects.Player);
     }
 }
예제 #21
0
 /// <summary>
 ///     Fired on an incoming gapcloser.
 /// </summary>
 /// <param name="sender">The object.</param>
 /// <param name="args">The <see cref="Events.GapCloserEventArgs" /> instance containing the event data.</param>
 public static void OnGapCloser(object sender, Events.GapCloserEventArgs args)
 {
     if (Vars.E.IsReady() && args.Sender.IsMelee && args.IsDirectedToPlayer &&
         args.Sender.IsValidTarget(Vars.E.Range) &&
         Vars.Menu["spells"]["e"]["gapcloser"].GetValue <MenuBool>().Value)
     {
         Vars.E.Cast(GameObjects.Player.ServerPosition.Extend(args.Sender.ServerPosition, -Vars.E.Range));
     }
 }
예제 #22
0
 private static void OnGapCloser(object sender, Events.GapCloserEventArgs Args)
 {
     if (Args.IsDirectedToPlayer && Menu["Blitzcrank_Misc"]["GapCloser"] &&
         E.IsReady() && Args.Sender.DistanceToPlayer() <= GetAttackRange(Me))
     {
         E.CastOnUnit(Args.Sender);
         Variables.Orbwalker.ForceTarget = Args.Sender;
     }
 }
예제 #23
0
 /// <summary>
 ///     Fired on an incoming gapcloser.
 /// </summary>
 /// <param name="sender">The object.</param>
 /// <param name="args">The <see cref="Events.GapCloserEventArgs" /> instance containing the event data.</param>
 public static void OnGapCloser(object sender, Events.GapCloserEventArgs args)
 {
     if (Vars.Q.IsReady() && args.IsDirectedToPlayer && args.Sender.IsValidTarget(Vars.Q.Range) &&
         !Invulnerable.Check(args.Sender, DamageType.Magical, false) &&
         Vars.Menu["spells"]["q"]["gapcloser"].GetValue <MenuBool>().Value)
     {
         Vars.Q.Cast(args.Sender.ServerPosition);
     }
 }
예제 #24
0
파일: Ahri.cs 프로젝트: wade1990/PortAIO
 private static void OnGapCloser(object obj, Events.GapCloserEventArgs Args)
 {
     if (Args.IsDirectedToPlayer && Menu["Ahri_Misc"]["EGap"] &&
         E.IsReady() && Args.Sender.DistanceToPlayer() <= 300 &&
         Menu["Ahri_Misc"][Args.Sender.ChampionName.ToLower()])
     {
         E.Cast(Args.Sender);
     }
 }
예제 #25
0
 private static void OnGapCloser(object sender, Events.GapCloserEventArgs args)
 {
     if (Menu["E"]["Gapcloser"].GetValue <MenuBool>() && E.IsReady())
     {
         if (args.IsDirectedToPlayer && args.End.DistanceToPlayer() <= 200)
         {
             E.Cast(Player.Position.Extend(args.Sender.Position, -E.Range));
         }
     }
 }
예제 #26
0
 private static void OnGapCloser(object sender, Events.GapCloserEventArgs args)
 {
     if (Menu["Misc"]["EGap"] && E.IsReady())
     {
         if (Menu["Misc"]["MiscList"][args.Sender.ChampionName.ToLower()] && args.Sender.DistanceToPlayer() <= 300)
         {
             CastSpell(E, args.Sender);
         }
     }
 }
예제 #27
0
 internal static void Init(object sender, Events.GapCloserEventArgs args)
 {
     if (args.IsDirectedToPlayer)
     {
         if (Menu["W"]["Gap"].GetValue <MenuBool>() && W.IsReady() && args.Sender.IsValidTarget(W.Range) && args.End.DistanceToPlayer() <= 200)
         {
             W.Cast(args.End);
         }
     }
 }
예제 #28
0
 /// <summary>
 ///     Fired on an incoming gapcloser.
 /// </summary>
 /// <param name="sender">The object.</param>
 /// <param name="args">The <see cref="Events.GapCloserEventArgs" /> instance containing the event data.</param>
 public static void OnGapCloser(object sender, Events.GapCloserEventArgs args)
 {
     if (Vars.E.IsReady() &&
         !Invulnerable.Check(args.Sender) &&
         args.Sender.LSIsValidTarget(Vars.E.Range) &&
         Vars.getCheckBoxItem(Vars.EMenu, "gapcloser"))
     {
         Vars.E.Cast(args.End);
     }
 }
예제 #29
0
파일: Veigar.cs 프로젝트: riwalry1/AIO
 /// <summary>
 ///     Fired on an incoming gapcloser.
 /// </summary>
 /// <param name="sender">The object.</param>
 /// <param name="args">The <see cref="Events.GapCloserEventArgs" /> instance containing the event data.</param>
 public static void OnGapCloser(object sender, Events.GapCloserEventArgs args)
 {
     if (Vars.E.IsReady() &&
         args.Sender.LSIsValidTarget(Vars.E.Range) &&
         !Invulnerable.Check(args.Sender, DamageType.Magical, false) &&
         Vars.getCheckBoxItem(Vars.EMenu, "gapcloser"))
     {
         Vars.E.Cast(args.Sender.ServerPosition);
     }
 }
예제 #30
0
파일: Program.cs 프로젝트: wade1990/PortAIO
 private static void OnGapCloser(object sender, Events.GapCloserEventArgs e)
 {
     if (GapcloserW.Value && W.IsReady())
     {
         if (Me.Distance(e.End) <= 170)
         {
             W.Cast(Me);
         }
     }
 }