コード例 #1
0
        private static void Gapcloser_OnGapcloser(AIHeroClient sender, AntiGapcloser.GapcloserArgs args)
        {
            if (sender.IsAlly)
            {
                return;
            }

            if (args.SpellName == "ZedR")
            {
                return;
            }

            if (args.EndPosition.DistanceToPlayer() < args.StartPosition.DistanceToPlayer())
            {
                if (args.EndPosition.DistanceToPlayer() <= 500 && sender.IsValidTarget(1000))
                {
                    if (E.Cast(sender) == CastStates.SuccessfullyCasted)
                    {
                        return;
                    }
                }
                else
                {
                    return;
                }
            }
        }
コード例 #2
0
        private void AntiGapcloser_OnGapcloser(AIHeroClient sender, AntiGapcloser.GapcloserArgs args)
        {
            if (!OktwCommon.CheckGapcloser(sender, args))
            {
                return;
            }

            if (dashSpell.IsReady() && egcChampions.Any(e => e.Enabled && e.Name == "egcChampion" + sender.CharacterName))
            {
                switch (gapcloserMode.Index)
                {
                case 0:
                {
                    var bestPoint = Player.Position.Extend(Game.CursorPos, dashSpell.Range);

                    if (IsGoodPosition(bestPoint))
                    {
                        dashSpell.Cast(bestPoint);
                    }

                    break;
                }

                case 1:
                {
                    var points    = OktwCommon.CirclePoints(10, dashSpell.Range, Player.Position);
                    var bestPoint = Player.Position.Extend(sender.Position, -dashSpell.Range);
                    var enemies   = bestPoint.CountEnemyHeroesInRange(dashSpell.Range);

                    foreach (var point in points)
                    {
                        var count = point.CountEnemyHeroesInRange(dashSpell.Range);

                        if (count < enemies)
                        {
                            bestPoint = point;
                            enemies   = count;
                        }
                        else if (count == enemies && Game.CursorPos.Distance(point) < Game.CursorPos.Distance(bestPoint))
                        {
                            bestPoint = point;
                            enemies   = count;
                        }
                    }

                    if (IsGoodPosition(bestPoint))
                    {
                        dashSpell.Cast(bestPoint);
                    }

                    break;
                }
                }
            }
        }
コード例 #3
0
        private static void OnGapcloser(AIHeroClient sender, AntiGapcloser.GapcloserArgs args)
        {
            if (sender.IsAlly)
            {
                return;
            }

            if (mainMenu["Misc"].GetValue <MenuBool>("antiGapCloser").Enabled&& sender.IsEnemy && Q.IsReady() && sender.IsValidTarget(Q.Range))
            {
                Q.Cast(sender);
            }
        }
コード例 #4
0
        public static bool CheckGapcloser(AIHeroClient sender, AntiGapcloser.GapcloserArgs args)
        {
            if (args.Type == AntiGapcloser.GapcloserType.Targeted && !args.Target.IsMe)
            {
                return(false);
            }

            if (args.Type != AntiGapcloser.GapcloserType.Targeted && !Player.InRange(sender, 500, true))
            {
                return(false);
            }

            return(true);
        }
コード例 #5
0
        private static void AntiGapcloser_OnGapcloser(AIHeroClient sender, AntiGapcloser.GapcloserArgs args)
        {
            var fullHP = GameObjects.Player.MaxHealth;
            var HP     = GameObjects.Player.Health;
            var critHP = fullHP / 4;

            if (W.IsReady() && sender.IsValidTarget() && mainMenu["Combo"].GetValue <MenuBool>("antiW").Enabled)
            {
                W.Cast(args.EndPosition);
            }
            else if (!W.IsReady() && sender.IsValidTarget(R.Range) && R.IsReady() && (HP <= critHP) && mainMenu["Combo"].GetValue <MenuBool>("antiR").Enabled)
            {
                R.Cast(args.EndPosition);
            }
        }
コード例 #6
0
        private static void Gapcloser_OnGapcloser(AIHeroClient sender, AntiGapcloser.GapcloserArgs args)
        {
            if (sender.IsMe)
            {
                return;
            }

            if (menuclass.misc.usee.Enabled && E.IsReady(0))
            {
                if (args.EndPosition.DistanceToPlayer() < 350)
                {
                    E.Cast(Game.CursorPos);
                }
            }
        }
コード例 #7
0
        private void AntiGapcloser_OnGapcloser(AIHeroClient sender, AntiGapcloser.GapcloserArgs args)
        {
            if (!OktwCommon.CheckGapcloser(sender, args))
            {
                return;
            }

            if (Player.Mana > EMANA + RMANA)
            {
                if (sender.IsValidTarget(E.Range))
                {
                    if (agcW.Enabled && W.IsReady())
                    {
                        W.Cast(args.EndPosition);
                    }
                }
            }
        }
コード例 #8
0
 internal virtual void OnGapcloser(AIBaseClient Sender, AntiGapcloser.GapcloserArgs args)
 {
 }
コード例 #9
0
        private static void AntiGapcloserOnOnAllGapcloser(AIHeroClient sender, AntiGapcloser.GapcloserArgs args)
        {

        }