示例#1
0
文件: Olaf.cs 项目: yashine59fr/Port
        private void Clear()
        {
            var minis         = MinionManager.GetMinions(325f, MinionTypes.All, MinionTeam.NotAlly);
            var killableWithE =
                minis.Where(m => HealthPrediction.GetHealthPrediction(m, 245) < E.GetDamage(m))
                .OrderByDescending(m => m.MaxHealth)
                .FirstOrDefault();

            if (config.Item("useeLC", true).GetValue <bool>() && E.IsReady() && killableWithE != null &&
                (!player.Spellbook.IsAutoAttacking || killableWithE.MaxHealth > 2000))
            {
                E.Cast(killableWithE);
            }
            if (config.Item("gotoAxeLC", true).GetValue <bool>())
            {
                GotoAxe(Game.CursorPos);
            }
            float perc = config.Item("minmana", true).GetValue <Slider>().Value / 100f;

            if (player.Mana < player.MaxMana * perc || player.Spellbook.IsAutoAttacking)
            {
                return;
            }
            if (config.Item("useqLC", true).GetValue <bool>() && Q.IsReady())
            {
                var         minisForQ    = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.NotAlly);
                var         farmLocation = Q.GetLineFarmLocation(minisForQ);
                Obj_AI_Base targetMini   = null;
                if (config.Item("qMinHit", true).GetValue <Slider>().Value <= farmLocation.MinionsHit)
                {
                    targetMini =
                        minisForQ.Where(m => Q.CountHits(minisForQ, m.Position) >= farmLocation.MinionsHit)
                        .OrderBy(m => m.Distance(player))
                        .FirstOrDefault();
                }
                if (targetMini == null)
                {
                    targetMini =
                        minisForQ.Where(m => minisForQ.Where(b => b.Distance(m) < Q.Width).Sum(b => b.Health) > 700)
                        .OrderByDescending(b => Q.CountHits(minisForQ, b.Position))
                        .FirstOrDefault();
                }
                if (targetMini != null)
                {
                    Q.Cast(targetMini.Position);
                }
            }
            if (config.Item("usewLC", true).GetValue <bool>() && W.IsReady())
            {
                if (minis.Sum(m => m.Health) > 750 || minis.Count > 3 || player.HealthPercent < 50)
                {
                    W.Cast();
                }
            }
        }