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); } } }