public override void Execute() { if (Settings.UseRk && R.IsReady() && E.IsReady() && Q.IsReady()) { var target = TargetSelector.GetTarget(R.Range, DamageType.Physical); if (target != null && Damages.RDamage(target) + Damages.QDamage(target) + Damages.EDamage(target) + Damages.FaaDamage(target) > target.Health) { R.Cast(target); } } var qtarget = TargetSelector.GetTarget(Q.Range, DamageType.Physical); if (Settings.UseE && E.IsReady() && (qtarget.IsValidTarget(Q.Range) && Q.IsReady())) { var vec = qtarget.ServerPosition - ObjectManager.Player.Position; var castBehind = E.GetPrediction(qtarget).CastPosition + Vector3.Normalize(vec) * 100; E.Cast(castBehind); Q.Cast(castBehind); } if (Settings.UseW) { var target = TargetSelector.GetTarget(W.Range, DamageType.Physical); if (W.IsReady() && target != null) { W.Cast(); } } if (Settings.UseQ && Q.IsReady() && !E.IsReady()) { var wtarget = TargetSelector.GetTarget(W.Range, DamageType.Physical); var prede = Q.GetPrediction(wtarget); if (prede.HitChance >= HitChance.High) { if (wtarget != null) { Q.Cast(prede.CastPosition); } } } if (Settings.UseRi && R.IsReady()) { var target = TargetSelector.GetTarget(R.Range, DamageType.Physical); if (R.IsReady() && target != null) { R.Cast(target); } } }