private static void Combo(AttackableUnit tar) { AIHeroClient target = null; if (myTarget.IsValidTarget()) { target = myTarget; } else if (tar is AIHeroClient) { target = (AIHeroClient)tar; } if (target != null && target.IsValidTarget(400)) { if (MenuInit.ComboItem && Riven.UseItem()) { return; } if (MenuInit.ComboR2 != 3 && R.IsReady() && isRActive && qStack == 2 && Q.IsReady() && Riven.R2Logic(target)) { return; } if (Q.IsReady() && target.IsValidTarget(400)) { Riven.CastQ(target); return; } if (MenuInit.ComboW && W.IsReady() && target.IsValidTarget(W.Range) && !Riven.HaveShield(target)) { W.Cast(true); return; } if (MenuInit.ComboE && !Q.IsReady() && !W.IsReady() && E.IsReady() && target.IsValidTarget(400)) { E.Cast(target.Position, true); return; } if (MenuInit.ComboR && R.IsReady() && !isRActive) { Riven.R1Logic(target); } } }
private static void Combo() { var target = myTarget.IsValidTarget() ? myTarget : TargetSelector.GetTarget(800f, TargetSelector.DamageType.Physical); if (target != null && target.IsValidTarget(800f)) { if (MenuInit.ComboDot && IgniteSlot != SpellSlot.Unknown && Ignite.IsReady() && target.IsValidTarget(Ignite.Range) && (target.Health < DamageCalculate.GetComboDamage(target) || target.Health < DamageCalculate.GetIgniteDmage(target)) && Ignite.Cast(target, true) == Spell.CastStates.SuccessfullyCasted) { return; } if (MenuInit.ComboYoumuu && Items.HasItem(3142) && Items.CanUseItem(3142) && target.IsValidTarget(580) && Items.UseItem(3142)) { return; } if (MenuInit.ComboR && R.IsReady() && !isRActive && target.Health <= DamageCalculate.GetComboDamage(target) && target.IsValidTarget(600f) && Riven.R1Logic(target)) { return; } if (MenuInit.ComboR2 != 3 && R.IsReady() && isRActive && Riven.R2Logic(target)) { return; } if (MenuInit.ComboQGap && Q.IsReady() && Utils.TickCount - lastQTime > 3600 && !Me.IsDashing() && target.IsValidTarget(480) && target.DistanceToPlayer() > Orbwalking.GetRealAutoAttackRange(Me)) { var pred = Prediction.GetPrediction(target, Q.Delay); if (pred.UnitPosition != Vector3.Zero && (pred.UnitPosition.DistanceToPlayer() < target.DistanceToPlayer() || pred.UnitPosition.Distance(target.Position) <= target.DistanceToPlayer()) && Riven.CastQ(target)) { return; } } if (MenuInit.ComboEGap && E.IsReady() && target.IsValidTarget(600) && target.DistanceToPlayer() > Orbwalking.GetRealAutoAttackRange(Me) + 50) { E.Cast(target.Position, true); } if (MenuInit.ComboWLogic && W.IsReady() && target.IsValidTarget(W.Range)) { if (!Q.IsReady() && qStack == 0 && W.Cast(true)) { return; } if (!target.IsFacing(Me) && W.Cast(true)) { return; } if (Q.IsReady() && qStack > 0 && W.Cast(true)) { return; } if (Me.HasBuff("RivenFeint")) { W.Cast(true); } } } }