예제 #1
0
        public static void ClearMode()
        {
            Random        Delay           = new Random();
            Obj_AI_Minion Minion          = null;
            IEnumerable <Obj_AI_Minion> M = EntityManager.MinionsAndMonsters.GetLaneMinions(EntityManager.UnitTeam.Enemy, SpellOption.Spieler.Position, SpellOption.E.Range);

            var Killable = EntityManager.MinionsAndMonsters.EnemyMinions.Where(m => m.IsValidTarget(SpellOption.Spieler.AttackRange) && m.Health <= SpellOption.E.GetSpellDamage(m)).OrderBy(m => m.Health).LastOrDefault();
            var Minions  = EntityManager.MinionsAndMonsters.GetLaneMinions().Where(m => m.IsValidTarget(SpellOption.Spieler.AttackRange)).OrderBy(a => a.Distance(SpellOption.Spieler)).FirstOrDefault(a => a.IsValidTarget(SpellOption.E.Range));
            int Buff     = 0;
            var target   = SpellOption.Q.GetTarget();

            if (target != null && target.IsValid && SpellOption.Q.GetPrediction(target).HitChance >= SpellOption.Chance)
            {
                Combo.CastCombo();
            }

            if (M.Count <Obj_AI_Base>() == 0)
            {
                return;
            }

            if (Killable != null)
            {
                Minion = Killable;
            }
            else if (Minions != null)
            {
                Minion = Minions;
            }
            else
            {
                Minion = GetBestTarget(ref M);
            }

            if (Minion == null)
            {
                return;
            }

            foreach (var Item1 in M)
            {
                if (Item1.HasBuff("RyzeE"))
                {
                    Buff++;
                }
            }

            foreach (var Item in M)
            {
                if (Orbwalker.ForcedTarget == Item && Item.HasBuff("RyzeE") && Item.Health >= 30)
                {
                    Orbwalker.DisableAttacking = true;
                }

                if (CheckMinionNumber(Item) >= 2 && Item.IsValidTarget() && Item.HasBuff("RyzeE") && (Item.Health - SpellOption.E.GetSpellDamage(Item) >= 40 || Item.Health - SpellOption.E.GetSpellDamage(Item) <= 0) && Item.Health >= 40 && SpellOption.E.IsReady() && CheckMinionNumber(Item) >= 2)
                {
                    SpellOption.E.Cast(Item);
                }

                if ((Buff >= 3 || SpellOption.Q.GetSpellDamage(Item) >= Item.Health && Item.Health >= 40) && Item.HasBuff("RyzeE") && Item.IsValidTarget() && SpellOption.Q.GetPrediction(Item).HitChance >= SpellOption.Chance && SpellOption.Q.IsReady())
                {
                    Core.DelayAction(() => SpellOption.Q.Cast(Item), Delay.Next(SpellOption.MinDelay, SpellOption.MaxDelay));
                }
            }

            var QPred = SpellOption.Q.GetPrediction(Minion);

            if (Minion.IsValidTarget(SpellOption.E.Range) && SpellOption.E.IsReady() && SpellOption.Spieler.ManaPercent >= SpellOption.Mana && Minion.IsAlive() && Menü.Clear["UseE"].Cast <CheckBox>().CurrentValue&& (Minion.Health - SpellOption.E.GetSpellDamage(Minion) >= 20 || Minion.Health - SpellOption.E.GetSpellDamage(Minion) <= 0))
            {
                Core.DelayAction(() => SpellOption.E.Cast(Minion), Delay.Next(SpellOption.MinDelay, SpellOption.MaxDelay));
            }

            if (Minion.IsValidTarget(SpellOption.W.Range) && SpellOption.W.IsReady() && SpellOption.Q.IsOnCooldown && QPred.HitChance >= SpellOption.Chance && Minion.IsAlive() && (Minion.Health - SpellOption.W.GetSpellDamage(Minion) >= 40 || Minion.Health - SpellOption.W.GetSpellDamage(Minion) <= 0) && Menü.Clear["UseW"].Cast <CheckBox>().CurrentValue)
            {
                Core.DelayAction(() => SpellOption.W.Cast(Minion), Delay.Next(SpellOption.MinDelay, SpellOption.MaxDelay));
            }
        }
예제 #2
0
        // -------------------------------------------------------------------------------------------------------------------------------------------------------------
        // Lane Clear Modus

        public static void ClearMode()
        {
            Random        Delay           = new Random();
            Obj_AI_Minion Minion          = null;
            IEnumerable <Obj_AI_Minion> M = EntityManager.MinionsAndMonsters.GetLaneMinions();

            var Flux     = EntityManager.MinionsAndMonsters.EnemyMinions.Where(m => m.IsValidTarget(SpellOption.Spieler.AttackRange) && m.HasBuff("RyzeE")).OrderBy(x => x.Distance(Player.Instance.Position)).FirstOrDefault();
            var Killable = EntityManager.MinionsAndMonsters.EnemyMinions.Where(m => m.IsValidTarget(SpellOption.Spieler.AttackRange) && m.Health <= SpellOption.E.GetSpellDamage(m)).OrderBy(m => m.Health).LastOrDefault();
            var Minions  = EntityManager.MinionsAndMonsters.GetLaneMinions().Where(m => m.IsValidTarget(SpellOption.Spieler.AttackRange)).OrderBy(a => a.Distance(SpellOption.Spieler)).FirstOrDefault(a => a.IsValidTarget(SpellOption.E.Range));

            var target = SpellOption.Q.GetTarget();

            if (target != null && target.IsValid)
            {
                CastCombo();
            }

            if (Killable != null)
            {
                Minion = Killable;
            }
            else if (Flux != null)
            {
                Minion = Flux;
            }
            else if (Minions != null)
            {
                Minion = Minions;
            }

            if (Minion == null || Minion.Health <= SpellOption.Spieler.GetAutoAttackDamage(Minion))
            {
                return;
            }

            foreach (var Item in M)
            {
                if (Item.HasBuff("RyzeE") && Item.Health <= SpellOption.Q.GetSpellDamage(Item) * 2 && Item.IsValidTarget() && SpellOption.Q.GetPrediction(Item).HitChance >= SpellOption.Chance &&
                    SpellOption.Q.IsReady() && SpellOption.Mana <= SpellOption.Spieler.Mana && Minion.Health >= 40)
                {
                    Core.DelayAction(() => SpellOption.Q.Cast(Item), Delay.Next(SpellOption.MinDelay, SpellOption.MaxDelay));
                }
            }

            //if (Minion.Health <= SpellOption.Spieler.GetAutoAttackDamage(Minion) / 2 && Minion.HasBuff("RyzeE") && SpellOption.Q.IsReady() && SpellOption.E.IsReady()) Orbwalker.DisableAttacking = true;
            if (Minion.Health <= SpellOption.Spieler.GetAutoAttackDamage(Minion))
            {
                return;
            }

            var QPred = SpellOption.Q.GetPrediction(Minion);

            if (Minion.IsValidTarget(SpellOption.E.Range) && SpellOption.E.IsReady() && SpellOption.Spieler.ManaPercent >= SpellOption.Mana && Minion.IsAlive() && (Minion.Health - SpellOption.E.GetSpellDamage(Minion) >= 40 || Minion.Health - SpellOption.E.GetSpellDamage(Minion) <= 0) && Menü.Clear["UseE"].Cast <CheckBox>().CurrentValue)
            {
                Core.DelayAction(() => SpellOption.E.Cast(Minion), Delay.Next(SpellOption.MinDelay, SpellOption.MaxDelay));
            }

            if (Minion.IsValidTarget(SpellOption.Q.Range) && SpellOption.Q.IsReady() && SpellOption.Spieler.ManaPercent >= SpellOption.Mana && Minion.HasBuff("RyzeE") && QPred.HitChance >= SpellOption.Chance && Minion.IsAlive() && (Minion.Health - SpellOption.Q.GetSpellDamage(Minion) >= 40 || Minion.Health - SpellOption.Q.GetSpellDamage(Minion) <= 0) && Menü.Clear["UseQ"].Cast <CheckBox>().CurrentValue)
            {
                Core.DelayAction(() => SpellOption.Q.Cast(Minion), Delay.Next(SpellOption.MinDelay, SpellOption.MaxDelay));
            }

            if (Minion.IsValidTarget(SpellOption.W.Range) && SpellOption.W.IsReady() && SpellOption.Spieler.ManaPercent >= SpellOption.Mana && QPred.HitChance >= SpellOption.Chance && Minion.IsAlive() && (Minion.Health - SpellOption.W.GetSpellDamage(Minion) >= 40 || Minion.Health - SpellOption.W.GetSpellDamage(Minion) <= 0) && Menü.Clear["UseW"].Cast <CheckBox>().CurrentValue)
            {
                Core.DelayAction(() => SpellOption.W.Cast(Minion), Delay.Next(SpellOption.MinDelay, SpellOption.MaxDelay));
            }
        }