コード例 #1
0
ファイル: Yasuo.cs プロジェクト: geramz/PortAIO
        private static void BeyBlade()
        {
            if (!Common.CanFlash)
            {
                return;
            }
            if (Q.IsReady() && haveQ3 && IsDashing && CanCastQCir)
            {
                var hits =
                    GameObjects.EnemyHeroes.Count(
                        i => i.LSIsValidTarget() && Q3.GetPredPosition(i).Distance(posDash) < Q3.Range + FlashRange);
                if (hits > 0 && Q3.Cast(posDash))
                {
                    //DelayAction.Add();
                }
            }
            if (!E.IsReady() || IsDashing)
            {
                return;
            }
            var obj =
                Common.ListEnemies(true)
                .Where(i => i.LSIsValidTarget(E.Range) && !HaveE(i))
                .MaxOrDefault(
                    i =>
                    GameObjects.EnemyHeroes.Count(
                        a =>
                        !a.Compare(i) && a.LSIsValidTarget() &&
                        Q3.GetPredPosition(a).Distance(GetPosAfterDash(i)) < Q3.Range + FlashRange - 50));

            if (obj != null && E.CastOnUnit(obj))
            {
                lastE = Variables.TickCount;
            }
        }
コード例 #2
0
 private static void KillSteal()
 {
     if (getCheckBoxItem(ksMenu, "Q") && Q.IsReady())
     {
         if (IsDashing)
         {
             if (CanCastQCir)
             {
                 var targets = GetQCirTarget.Where(i => i.Health + i.AttackShield <= GetQDmg(i)).ToList();
                 if (CastQCir(targets))
                 {
                     return;
                 }
             }
         }
         else
         {
             var target = SpellQ.GetTarget(SpellQ.Width / 2);
             if (target != null && target.Health + target.AttackShield <= GetQDmg(target))
             {
                 if (!haveQ3)
                 {
                     if (Q.Casting(target).IsCasted())
                     {
                         return;
                     }
                 }
                 else if (Q2.Casting(target, false, CollisionableObjects.YasuoWall).IsCasted())
                 {
                     return;
                 }
             }
         }
     }
     if (getCheckBoxItem(ksMenu, "E") && E.IsReady())
     {
         var canQ   = getCheckBoxItem(ksMenu, "Q") && Q.IsReady(50);
         var target =
             EntityManager.Heroes.Enemies.FirstOrDefault(
                 i =>
                 !HaveE(i) && E.IsInRange(i) &&
                 (canQ && Q3.WillHit(Q3.GetPredPosition(i), GetPosAfterDash(i))
                             ? i.Health - Math.Max(GetEDmg(i) - i.MagicShield, 0) + i.AttackShield
                  <= GetQDmg(i)
                             : i.Health + i.MagicShield <= GetEDmg(i)));
         if (target != null && E.CastOnUnit(target))
         {
             return;
         }
     }
     if (getCheckBoxItem(ksMenu, "R") && R.IsReady())
     {
         var target =
             EntityManager.Heroes.Enemies.Where(
                 i =>
                 getCheckBoxItem(ksMenu, "RCast" + i.NetworkId) &&
                 i.Health + i.AttackShield <= R.GetDamage(i) + (Q.IsReady(1000) ? GetQDmg(i) : 0))
             .MaxOrDefault(i => new Priority().GetDefaultPriority(i));
         if (target != null)
         {
             R.CastOnUnit(target);
         }
     }
 }