Beispiel #1
0
        public static void Execute()
        {
            //if (InRLock()) return;

            // Primary target
            var target = Targeting.Champions(EffectiveExtendedSkillRange);

            // Check if we should wait with spells
            if (!States.SpellReady(target))
            {
                return;
            }

            // Use E?
            if (E.IsReady() && ComboMenu.GetCheckBoxValue("eUse"))
            {
                // Attempt to dash
                if (!Dash.Attempt(target, MiscMenu.GetSliderValue("maxEnemiesNear")))
                {
                    // No dash is suitable, target closer enemies and attempt to dash again
                    target = Targeting.Champions(EffectiveSkillRange, true);
                    Dash.Attempt(target, MiscMenu.GetSliderValue("maxEnemiesNear"));
                }
            }

            // Cast Q
            if (ComboMenu.GetCheckBoxValue("qUse"))
            {
                if (!Q.TryToCast(target, ComboMenu))
                {
                    CastQExtended(target);
                }
            }

            // Cast W
            if (ComboMenu.GetCheckBoxValue("wUse"))
            {
                var wPrediction = W.GetPrediction(target);

                if ((!Q.IsReady() || !target.WithinRange(Q.Range)) &&
                    (wPrediction.HitChance != HitChance.Collision && wPrediction.HitChance >= HitChance.Medium))
                {
                    if (!W.TryToCast(wPrediction.CastPosition, ComboMenu) && target.WithinRange(EffectiveAttackRange))
                    {
                        CastW(wPrediction.CastPosition);
                    }
                }
            }

            // Attempt to cast R
            if (R.IsReady() && ComboMenu.GetCheckBoxValue("rUse"))
            {
                target  = Targeting.Champions(R.Range);
                RTarget = target;
                //Chat.Print("Casting R!");
                CastR(target);
            }

            // Attempt to cast extended Q
            if (ComboMenu.GetCheckBoxValue("qUse"))
            {
                target = Targeting.Champions(EffectiveReachRange);
                if (!Q.TryToCast(target, ComboMenu))
                {
                    CastQExtended(target);
                }
            }
        }