示例#1
0
        protected override void Combo(Menu menu)
        {
            if (Target != null)
            {
                if (menu.Slider("E") > 0)
                {
                    switch (menu.Slider("E"))
                    {
                    case 1:
                        CastE(Target);
                        break;

                    case 2:
                        E.Cast(Target);
                        break;
                    }
                }
                if (menu.CheckBox("Q"))
                {
                    CastQ2(Target);
                }
                if (menu.CheckBox("W"))
                {
                    CastW2(Target);
                }
                if (menu.Slider("R") > 0)
                {
                    if (MyHero.CountEnemiesInRange(R.Range) >= menu.Slider("R"))
                    {
                        R.Cast(Target);
                    }
                }
            }
            base.Combo(menu);
        }
示例#2
0
 public void CastW(Obj_AI_Base target)
 {
     if (IsCastingR)
     {
         return;
     }
     if (W.IsReady && target != null)
     {
         if (Core.GameTickCount - LastBlockTick < 750)
         {
             return;
         }
         if (Core.GameTickCount - WShouldWaitTick < 750)
         {
             return;
         }
         if (MyHero.CountEnemiesInRange(400) != 0)
         {
             return;
         }
         var hero = target as AIHeroClient;
         if (hero != null)
         {
             if (!TargetHaveEBuff(hero))
             {
                 if ((Orbwalker.CanAutoAttack && MyHero.IsInAutoAttackRange(target)) || (E.IsReady && E.InRange(hero)))
                 {
                     return;
                 }
             }
         }
         W.Cast(target);
     }
 }
示例#3
0
文件: Zed.cs 项目: lolscripts/Otros
        protected void SwapByCountingEnemies()
        {
            var wCount = (WShadowIsValid && W.IsReady) ? WShadow.CountEnemiesInRange(400) : 100;
            var rCount = (RShadowIsValid && R.IsReady) ? RShadow.CountEnemiesInRange(400) : 100;
            var min    = Math.Min(rCount, wCount);

            if (MyHero.CountEnemiesInRange(400) > min)
            {
                if (min == wCount)
                {
                    W.Cast();
                }
                else if (min == rCount)
                {
                    R.Cast();
                }
            }
        }
示例#4
0
        public void CastW(Obj_AI_Base target)
        {
            var pred = W.GetPrediction(target);

            if (IsCastingR)
            {
                return;
            }
            if (W.IsReady && target != null && !IsCastingR && target.IsValidTarget(W.Range) && !W.WillHitYasuoWall(pred.CastPosition) && !MyHero.IsInAutoAttackRange(target) || pred.HitChance >= HitChance.Immobile && !IsCastingR && target.IsValidTarget(W.Range) && !W.WillHitYasuoWall(pred.CastPosition) && !MyHero.IsInAutoAttackRange(target))
            {
                if (Core.GameTickCount - LastBlockTick < 650)
                {
                    return;
                }
                if (Core.GameTickCount - WShouldWaitTick < 650)
                {
                    return;
                }
                if (MyHero.CountEnemiesInRange(350) != 0)
                {
                    return;
                }
                var hero = target as AIHeroClient;

                if (hero != null)
                {
                    if (MyHero.IsInAutoAttackRange(target) && !TargetHaveEBuff(hero))
                    {
                        if ((Orbwalker.CanAutoAttack || (E.IsReady && E.InRange(hero))))
                        {
                            return;
                        }
                    }
                }
                W.Cast(target);
            }
        }
示例#5
0
 protected override void Combo()
 {
     if (Target != null)
     {
         var bestCombo = GetBestCombo(Target);
         if (MyHero.CountEnemiesInRange(E.Range) >= ComboMenu.Slider("TeamFight"))
         {
             if (ComboMenu.Slider("Q.Hit") > 0)
             {
                 var list = Q.EnemyHeroes;
                 if (list.Count >= ComboMenu.Slider("Q.Hit"))
                 {
                     var result = GetBestHitQ(list);
                     if (result.Hits >= ComboMenu.Slider("Q.Hit"))
                     {
                         Q.Cast(result.Position);
                     }
                 }
             }
             if (W.IsReady && ComboMenu.Slider("W.Hit") > 0)
             {
                 var list = W.EnemyHeroes;
                 if (list.Count >= ComboMenu.Slider("W.Hit"))
                 {
                     if (W.ObjectsInRange(list).Count >= ComboMenu.Slider("W.Hit"))
                     {
                         W.Cast();
                     }
                 }
             }
             if (R.IsReady && ComboMenu.Slider("R.Hit") > 0)
             {
                 var list = R.EnemyHeroes;
                 if (list.Count >= ComboMenu.Slider("R.Hit"))
                 {
                     if (R.ObjectsInRange(list).Count >= ComboMenu.Slider("R.Hit"))
                     {
                         R.Cast();
                     }
                 }
             }
             CastQr();
             CastEr();
         }
         else
         {
             if (R.IsReady && ComboMenu.CheckBox("R.Killable") && bestCombo.R && R.IsKillable(Target))
             {
                 CastR(Target);
             }
         }
         if (ComboMenu.CheckBox("Q"))
         {
             CastQ(Target);
         }
         if (ComboMenu.CheckBox("W"))
         {
             CastW(Target);
         }
         if (ComboMenu.Slider("E.HealthPercent") >= MyHero.HealthPercent)
         {
             var enemy = UnitManager.ValidEnemyHeroesInRange.FirstOrDefault(h => h.InAutoAttackRange(MyHero));
             if (enemy != null)
             {
                 CastE(MyHero);
             }
         }
     }
     base.Combo();
 }