Exemplo n.º 1
0
        public static void Execute()
        {
            // 2-Leveled settings
            var settingsType = (Self.Level >= HarassMenu.GetSliderValue("lateGameLevelSlider")) ? "LateGame" : "";

            // Get best champion
            var target =
                Targeting.Champions(
                    HarassMenu.GetCheckBoxValue("eUse" + settingsType) ? EffectiveExtendedReachRange : EffectiveReachRange, true);

            // Check if target/self are valid for spells
            if (!States.SpellReady(target))
            {
                return;
            }

            // Use E?
            if (E.IsReady() && HarassMenu.GetCheckBoxValue("eUse" + settingsType))
            {
                // Predict best E position
                var predictedPosition = Dash.Prediction(target).Position;

                // Make sure prediction position is within AA range, not under turret and no other enemies are close
                if (target.WithinRange(predictedPosition, EffectiveAttackRange) &&
                    !predictedPosition.UnderEnemyTurret() &&
                    predictedPosition.EnemiesWithinRange(ScanRange) == 1)
                {
                    Player.CastSpell(SpellSlot.E, predictedPosition);
                }
            }

            // Harass with Q
            if (HarassMenu.GetCheckBoxValue("qUse" + settingsType))
            {
                if (!Q.Cast(target))
                {
                    CastQExtended(target);
                }
            }

            // Cast W
            if (HarassMenu.GetCheckBoxValue("wUse" + settingsType) && target.WithinRange(EffectiveAttackRange))
            {
                if (!W.Cast(target))
                {
                    CastW(target.ServerPosition);
                }
            }
        }
Exemplo n.º 2
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);
                }
            }
        }