Exemple #1
0
        private static void WLogic()
        {
            #region W逻辑
            foreach (var enemy in HeroManager.Enemies.Where(e => e.IsValid && !e.IsDead && e.Distance(Player) < W.Range).OrderByDescending(k => k.Distance(Player)).OrderByDescending(k => k.Health))
            {
                if (Config.Item("标记W").GetValue <bool>() &&
                    Config.GetBool("WList" + enemy.NetworkId) &&
                    (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo || Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed) &&
                    enemy.CountAlliesInRange(650) > 0 &&
                    enemy.HasWBuff())
                {
                    W.CastSpell(enemy);
                }

                if (Config.Item("硬控W").GetValue <bool>() && !OktwCommon.CanMove(enemy) && enemy.HasWBuff())
                {
                    W.CastSpell(enemy);
                }

                if (Config.Item("抢人头W").GetValue <bool>() &&
                    Config.GetBool("WList" + enemy.NetworkId) &&
                    Player.CountEnemiesInRange(Player.AttackRange + 100) == 0 && enemy.Health < OktwCommon.GetIncomingDamage(enemy) + W.GetDmg(enemy) &&
                    !Q.CanCast(enemy) && !(Orbwalking.CanAttack() && Orbwalking.InAutoAttackRange(enemy)))
                {
                    W.CastSpell(enemy);
                }
            }
            #endregion
        }
Exemple #2
0
        private static void QLogic()
        {
            #region Q逻辑
            //Q消耗
            if (Config.Item("消耗Q兵").GetValue <bool>() && Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed)
            {
                var ms = MinionManager.GetMinions(Q.Range);
                if (ms != null && ms.Count > 0)
                {
                    var t = ms.Find(m => Q.GetDmg(m) > m.Health && m.CountEnemiesInRange(200) > 0);
                    if (t != null)
                    {
                        Q.Cast(t);
                    }
                }
            }

            if (Config.Item("清兵Q").GetValue <bool>() && Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear)
            {
                var ms = MinionManager.GetMinions(Q.Range);
                if (ms != null && ms.Count >= 3)
                {
                    var t = ms.Find(m => Q.GetDmg(m) > m.Health);
                    if (t != null)
                    {
                        Q.Cast(t);
                    }
                }
            }

            if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
            {
                var target = Orbwalker.GetTarget() as Obj_AI_Hero;
                if (target != null && target.IsValid && !Orbwalking.CanAttack() && !Player.IsWindingUp && target.Health < Q.GetDmg(target) + W.GetDmg(target))
                {
                    Q.Cast(target);
                }
            }

            //Q抢人头
            foreach (var enemy in HeroManager.Enemies.Where(e => e.IsValidTarget(Q.Range) && Q.GetDmg(e) + OktwCommon.GetIncomingDamage(e) > e.Health))
            {
                Q.Cast(enemy);
            }

            #endregion
        }