private void CheckInstantSpells() { float facingAngle = GetTarget.Direction.To2D().Perpendicular().AngleBetween(me.Direction.To2D().Perpendicular()); bool isRunningAway = facingAngle < 25; if (!RivenMenu.Combo["burstKey"].Cast <KeyBind>().CurrentValue&& Spells.E.IsReady() && Orbwalker.ActiveModesFlags == Orbwalker.ActiveModes.Combo && RivenMenu.Combo["EGap"].Cast <CheckBox>().CurrentValue) { if (Prediction.Position.PredictUnitPosition(GetTarget, Spells.E.CastDelay).Distance(me) < Spells.E.Range + me.GetAutoAttackRange() && GetTarget.Distance(me) > me.GetAutoAttackRange()) { Spells.ForceE(GetTarget.Position.To2D()); } } else if (!RivenMenu.Combo["burstKey"].Cast <KeyBind>().CurrentValue&& Spells.Q.IsReady() && !Spells.E.IsReady() && Orbwalker.ActiveModesFlags == Orbwalker.ActiveModes.Combo && RivenMenu.Combo["QGap"].Cast <CheckBox>().CurrentValue) { if (Farming.GetQCone().IsInside(Prediction.Position.PredictUnitPosition(GetTarget, Spells.Q.CastDelay)) && GetTarget.Distance(me) > me.GetAutoAttackRange() && isRunningAway) { Spells.ForceQ(GetTarget.Position.To2D()); } } else if (isRunningAway && RivenMenu.Combo["QGap"].Cast <CheckBox>().CurrentValue&& RivenMenu.Combo["EGap"].Cast <CheckBox>().CurrentValue&& Spells.Q.IsReady() && Spells.E.IsReady() && Prediction.Position.PredictUnitPosition(GetTarget, Spells.E.CastDelay).Distance(me) > Spells.E.Range + me.GetAutoAttackRange() && Prediction.Position.PredictUnitPosition(GetTarget, Spells.E.CastDelay + Spells.Q.CastDelay) .Distance(me) <= Spells.Q.Range + Spells.E.Range + me.GetAutoAttackRange()) { Spells.ForceE(GetTarget.Position.To2D()); Core.DelayAction(Spells.ForceQ, Spells.E.CastDelay); } bool laneClear = EntityManager.MinionsAndMonsters.GetLaneMinions(EntityManager.UnitTeam.Enemy, me.Position, 750).Any() && Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear); if (RivenMenu.Combo["InstaW"].Cast <CheckBox>().CurrentValue&& Spells.W.IsReady() && !laneClear) { var pred = Prediction.Position.PredictUnitPosition(GetTarget, Spells.W.CastDelay /*+ 250*/); if (pred.Distance(Player.Instance) <= Spells.W.Range) { Spells.ForceItem(); Core.DelayAction(Spells.ForceW, 250); } } }