internal static void R2Logic(Obj_AI_Hero target) { if (target == null || R.Instance.Name == "RivenFengShuiEngine") { return; } if (target.Check(850)) { switch (Menu.GetList("R2Mode")) { case 0: if (DamageCalculate.GetRDamage(target) > target.Health && target.DistanceToPlayer() < 600) { var pred = R.GetPrediction(target, true); if (pred.Hitchance >= HitChance.VeryHigh) { R.Cast(pred.CastPosition, true); } } break; case 1: if (target.HealthPercent < 20 || (target.Health > DamageCalculate.GetRDamage(target) + Me.GetAutoAttackDamage(target) * 2 && target.HealthPercent < 40) || (target.Health <= DamageCalculate.GetRDamage(target)) || (target.Health <= DamageCalculate.GetComboDamage(target) * 1.3)) { var pred = R.GetPrediction(target, true); if (pred.Hitchance >= HitChance.VeryHigh) { R.Cast(pred.CastPosition, true); } } break; case 2: if (target.DistanceToPlayer() < 600) { var pred = R.GetPrediction(target, true); if (pred.Hitchance >= HitChance.VeryHigh) { R.Cast(pred.CastPosition, true); } } break; } } }
private void RLogic() { Obj_AI_Hero target = null; if (TargetSelector.GetSelectedTarget() != null && TargetSelector.GetSelectedTarget().DistanceToPlayer() <= Menu.GetSlider("rMenuMax")) { target = TargetSelector.GetSelectedTarget(); } else { target = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Physical); } if (R.IsReady() && target.Check(R.Range)) { switch (R.Instance.Name) { case "JhinR": if (Menu.GetKey("rMenuSemi")) { if (R.Cast(R.GetPrediction(target).UnitPosition)) { rShotTarget = target; return; } } if (!Menu.GetBool("rMenuAuto")) { return; } if (Menu.GetBool("rMenuCheck") && Me.CountEnemiesInRange(800f) > 0) { return; } if (target.DistanceToPlayer() <= Menu.GetSlider("rMenuMin")) { return; } if (target.DistanceToPlayer() > Menu.GetSlider("rMenuMax")) { return; } if (target.Health > Me.GetSpellDamage(target, SpellSlot.R) * Menu.GetSlider("rMenuKill")) { return; } if (IsSpellHeroCollision(target, R)) { return; } if (R.Cast(R.GetPrediction(target).UnitPosition)) { rShotTarget = target; } break; case "JhinRShot": var selectTarget = TargetSelector.GetSelectedTarget(); if (selectTarget != null && selectTarget.IsValidTarget(R.Range) && InRCone(selectTarget)) { if (Menu.GetKey("rMenuSemi")) { AutoUse(rShotTarget); SpellManager.PredCast(R, rShotTarget); return; } if (Menu.GetBool("ComboR") && Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { AutoUse(rShotTarget); SpellManager.PredCast(R, rShotTarget); return; } if (!Menu.GetBool("rMenuAuto")) { return; } AutoUse(rShotTarget); SpellManager.PredCast(R, rShotTarget); return; } foreach ( var t in HeroManager.Enemies.Where(x => x.IsValidTarget(R.Range) && InRCone(x)) .OrderBy(x => x.Health)) { if (Menu.GetKey("rMenuSemi")) { AutoUse(t); SpellManager.PredCast(R, t); return; } if (Menu.GetBool("ComboR") && Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { AutoUse(t); SpellManager.PredCast(R, t); return; } if (!Menu.GetBool("rMenuAuto")) { return; } AutoUse(t); SpellManager.PredCast(R, t); return; } break; } } }