コード例 #1
0
 public override void Execute()
 {
     if (EObj != null && E.IsReady() && E.ToggleState >= 2 && EObj.CountEnemyHeroesInRangeWithPrediction(375, 50) >= 1)
     {
         Player.CastSpell(SpellSlot.E);
     }
 }
コード例 #2
0
ファイル: LastHit.cs プロジェクト: Random007/Elobuddy-1
        public override void Execute()
        {
            if (Orbwalker.IsAutoAttacking || ManaLastHit > Me.ManaPercent)
            {
                return;
            }

            if (UseQLastHit)
            {
                var minionsQ =
                    EntityManager.MinionsAndMonsters
                    .GetLaneMinions()
                    .OrderBy(
                        m =>
                        m.Health)
                    .FirstOrDefault(m => m.IsValidTarget(Q.Range) &&
                                    Prediction.Health.GetPrediction(m, Q.TravelTime(m)) > Player.Instance.GetAutoAttackDamage(m) &&
                                    Prediction.Health.GetPrediction(m, Q.TravelTime(m)) < m.GetQDamage());

                if (minionsQ != null)
                {
                    Q.CastMinimumHitchance(minionsQ, 20);
                }
            }


            if (UseELastHit)
            {
                if (EObj != null && E.ToggleState >= 2 && EObj.CountEnemyMinionsInRangeWithPrediction(375, 50) >= 1)
                {
                    Player.CastSpell(SpellSlot.E);
                }

                var minionsE =
                    EntityManager.MinionsAndMonsters.GetLaneMinions()
                    .OrderBy(m => m.Health)
                    .Where(
                        m =>
                        m.IsValidTarget(E.Range + E.Width) &&
                        Prediction.Health.GetPrediction(m, E.TravelTime(m)) > Player.Instance.GetAutoAttackDamage(m) &&
                        Prediction.Health.GetPrediction(m, E.TravelTime(m)) < m.GetEDamage())
                    .ToArray();

                if (minionsE.Length >= CountELastHit)
                {
                    var predE = E.GetBestCircularCastPosition(minionsE);

                    if (predE.HitNumber >= CountELastHit)
                    {
                        E.Cast(predE.CastPosition);
                    }
                }
            }
        }
コード例 #3
0
    public static void PlayEffect(EffectType etype)
    {
        EObj ej = FindEff(etype);

        if (ej == null)
        {
            GameObject temp = Load(etype);
            float      time = ParticleSystemLength(temp.transform);
            ej = new EObj(temp, time);
            dicEff.Add(etype, ej);
        }
        ej.e.SetActive(true);
        SDKManager.Instance.StartCoroutine(HideEffect(ej));
    }
コード例 #4
0
 public static void Crawl(EObj eObj, Def def)
 {
     foreach (var fieldInfo in eObj.GetType().GetFields(flags))
     {
         if (Attribute.GetCustomAttribute(fieldInfo, typeof(NoCrawl)) != null)
         {
             continue;
         }
         var defFieldInfo = def.GetType().GetField(fieldInfo.Name, flags);
         if (defFieldInfo != null)
         {
             fieldInfo.SetValue(eObj, defFieldInfo.GetValue(def));
         }
     }
 }
コード例 #5
0
 private static void Drawing_OnDraw(System.EventArgs args)
 {
     if (DrawReady)
     {
         if (DrawQ && Q.IsReady())
         {
             Me.DrawCircle((int)Q.Range, QColor);
             QObj?.Miss.DrawCircle(Q.Width, QColor);
             QObj?.Poly.Draw(QColor, 5);
         }
         if (DrawW && W.IsReady())
         {
             Me.DrawCircle((int)W.Range, WColor);
         }
         if (DrawE && E.IsReady())
         {
             Me.DrawCircle((int)E.Range, EColor);
             EObj?.DrawCircle(E.Width, EColor);
         }
         if (DrawR && R.IsReady())
         {
             Me.DrawCircle((int)R.Range, RColor);
         }
     }
     else
     {
         if (DrawQ)
         {
             Me.DrawCircle((int)Q.Range, QColor);
             QObj?.Miss.DrawCircle(Q.Width, QColor);
             QObj?.Poly.Draw(QColor, 5);
         }
         if (DrawW)
         {
             Me.DrawCircle((int)W.Range, WColor);
         }
         if (DrawE)
         {
             Me.DrawCircle((int)E.Range, EColor);
             EObj?.DrawCircle(E.Width, EColor);
         }
         if (DrawR)
         {
             Me.DrawCircle((int)R.Range, RColor);
         }
     }
 }
コード例 #6
0
    private static IEnumerator HideEffect(EObj ej)
    {
        yield return(new WaitForSeconds(ej.time));

        ej.e.SetActive(false);
    }