示例#1
0
        private static void OnCombo()
        {
            var enemies = EntityManager.Heroes.Enemies.OrderByDescending
                              (a => a.HealthPercent).Where(a => !a.IsMe && a.IsValidTarget() && a.Distance(Player) <= E.Range);
            var target = TargetSelector.GetTarget(1400, DamageType.Physical);

            if (!target.IsValidTarget(Q.Range) || target == null && Channeling == true)
            {
                return;
            }
            if (MissInopportuneMenu.ComboW() && W.IsReady() && target.IsValidTarget(W.Range) && !target.IsInvulnerable &&
                target.Position.CountEnemiesInRange(800) >= MissInopportuneMenu.ComboW1())
            {
                W.Cast();
            }
            if (E.IsReady() && target.IsValidTarget(E.Range))
            {
                foreach (var eenemies in enemies)
                {
                    var useE = MissInopportuneMenu.MyCombo["combo.e"
                                                           + eenemies.ChampionName].Cast <CheckBox>().CurrentValue;
                    if (useE)
                    {
                        E.Cast(eenemies.ServerPosition);
                    }
                }
            }

            if (Q.IsReady() && target.IsValidTarget(Q.Range) && MissInopportuneMenu.ComboQ())
            {
                Q.Cast(target);
            }

            if (Q.IsReady() && target.IsValidTarget(Q1.Range) && MissInopportuneMenu.ComboQ1())
            {
                CastExtendedQ();
            }


            if (MissInopportuneMenu.ComboR() && R.IsReady() && !target.IsInvulnerable)
            {
                if (target != null)
                {
                    int collCount = 1;
                    foreach (var e in enemies)
                    {
                        if (
                            Math.Abs(e.Position.AngleBetween(Player.ServerPosition) -
                                     target.ServerPosition.AngleBetween(Player.Position)) < 0.3)
                        {
                            collCount++;
                        }
                    }
                    if (MissInopportuneMenu.ComboR1() &&
                        (target.HasBuffOfType(BuffType.Suppression) || target.HasBuffOfType(BuffType.Charm) ||
                         target.HasBuffOfType(BuffType.Flee) ||
                         target.HasBuffOfType(BuffType.Blind) || target.HasBuffOfType(BuffType.Polymorph) ||
                         target.HasBuffOfType(BuffType.Snare) ||
                         target.HasBuffOfType(BuffType.Stun) || target.HasBuffOfType(BuffType.Taunt)))
                    {
                        if (collCount < MissInopportuneMenu.ComboREnemies())
                        {
                            R.Cast(target.Position);
                        }
                    }
                    else if (!MissInopportuneMenu.ComboR1() && collCount <= MissInopportuneMenu.ComboREnemies())
                    {
                        R.Cast(R.GetPrediction(target).CastPosition);
                    }
                }
            }
            if ((ObjectManager.Player.CountEnemiesInRange(ObjectManager.Player.AttackRange) >=
                 MissInopportuneMenu.YoumusEnemies() || Player.HealthPercent >= MissInopportuneMenu.ItemsYoumuShp()) &&
                MyActivator.Youmus.IsReady() && MissInopportuneMenu.Youmus() && MyActivator.Youmus.IsOwned())
            {
                MyActivator.Youmus.Cast();
                return;
            }
            if (Player.HealthPercent <= MissInopportuneMenu.BilgewaterHp() && MissInopportuneMenu.Bilgewater() &&
                MyActivator.Bilgewater.IsReady() && MyActivator.Bilgewater.IsOwned())
            {
                MyActivator.Bilgewater.Cast(target);
                return;
            }

            if (Player.HealthPercent <= MissInopportuneMenu.BotrkHp() && MissInopportuneMenu.Botrk() &&
                MyActivator.Botrk.IsReady() &&
                MyActivator.Botrk.IsOwned())
            {
                MyActivator.Botrk.Cast(target);
            }
        }