예제 #1
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));
            }
        }